创建和访问字典
索引的方法
brand = ['苏宁','京东','淘宝']
slogan =['干掉京东','干掉淘宝','干掉苏宁']
print('我们的口号是',slogan[brand.index('淘宝')])
字典的方法
dict1={'苏宁':'干掉京东','京东':'干掉淘宝','淘宝':'干掉苏宁'}
print("我们的口号是:",dict1['淘宝'])
dict2 = {1:'one',2:'two',3:'three'}
print(dict2)打印字典
print(dict2[2])访问
Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
dict.fromkeys(seq[, value])
例:
dict1={}
print(dict1.fromkeys((1,2,3),'number'))
seq -- 字典键值列表。
value -- 可选参数, 设置键序列(seq)的值。
dict1={}
dict1=dict1.fromkeys(range(30),"赞")三十个键,打印赞
print(dict1)
dict1={}
dict1=dict1.fromkeys(range(30),"赞")
for each in dict1.keys():打印所有的key,相同值也是一样values
print(each)
第二十五讲课后习题
测试题:
讨论字典
67
不对
都一样,没有差别。
动动手
print('---欢迎进入通信录系统---')
print('---1:查询联系人资料---')
print('---2:插入新的联系人---')
print('---3:删除已有联系人---')
print('---4:退出通讯录程序---')
dict1={'小甲鱼':'020-0090909','小傻蛋':'080-2334234'}
while 1:
temp = int(input('请输入相关的指令代码:'))
if temp==1:
name1=input('请输入联系人姓名:')
if name1 in dict1:
print(name1+':'+dict1[name1])
else:
print('没有此用户')
if temp==2:
name2=input('请输入联系人姓名:')
tel=input('请输入用户联系电话:')
if name2 in dict1:
print('您输入的名字已在系统中存在-->',end='')
if input('是否修改用户资料(NO/YES):')=='YES':
dict1[name2]=input('请输入用户联系电话:')重新给存在的键赋一个新的值
print("修改成功!")
else:
continue
else:
a={name2:tel}
dict1.update(a)
print('插入成功')
if temp==3:
name3=input('请输入联系人姓名:')
if name3 in dict1:
dict1.pop(name3)
else:
print('用户不存在')
if temp==4:
break
二十六讲课后作业
不支持,会将之前的覆盖掉。
会自动创建对应的键(Key)并添加相应的值(Value)进去。
Python对键的要求严格一点,要求他们必须是可哈希的对象,不能是可变类型。
Python对值是没有任何限制的,他们可以是任意的Python对象。
{1:‘数字’,3:‘数字’}
dict1 = {1: 'one', 2: 'two', 3: 'three' }
dict2=dict1
print(dict2)#用赋值的办法只是将对象的引用拷贝过去而已。
可以用字典的copy()办法:dict1=dict2.copy()
动动手
dict1 = {}
def test1():
print('---新建用户:N/n---')
print('---登录账号:E/e---')
print('---退出程序:Q/q---')
while 1:
code = input("请输入指令代码:")
if code == 'N' or code == 'n':
inser_user()
elif code == 'E' or code == 'e':
login()
elif code == 'Q' or code == 'q':
print("程序退出成功,欢迎下次使用!")
break
def inser_user():#新建用户
name = input("请输入用户名:")
if name in dict1:
print(input("此用户名已经被使用,请重新输入:"))
Pwd = input("请输入密码:")
dict1[name] = Pwd#赋值给键相应的值
print("注册成功,赶紧试试登录吧")
def login():#登录账号
name = input("请输入用户名:")
if name not in dict1:
print(input("您输入的用户名不存在,请重新输入:"))
password = input("请输入密码:")
pwd = dict1.get(name)
if password == pwd:
print("欢迎进入XXOO系统,请点右上角的x结束程序!")
else:
print(input("您输入的密码不对,请重新输入:"))
test1()
注意:Python中in的操作符只能用于判断键是否存在于字典中,无法用于判断值。