Python-字典(dict)
字典是一种key-value的数据类型,字典里必须写Key和value;
字典的优点是取数方便和速度快。
字典的定义使用大括号{ },每个值用“,”隔开,key和value使用“:”分隔。
value可以取任何数据类型,但key必须是不可变的,如字符串,数字或元组。
创建一个字典infos:
infos = { 'name':'黄1', 'sex':'女', 'addr':'火星', 'age':22 }
一、增加元素:
infos['phone']=15200000000 #增加key infos.setdefault('小金库','200w') infos.setdefault('name','黄2') #如果key存在的话不会修改原来key的值 infos['name']='黄2'#如果key存在,会修改原来key对应的值
a={'K1':'V1'}
b={'K2':'V2'}
a.update(b) #把b的元素加入到a的字典里
print(a) #打印结果:{'K2': 'V2', 'K1': 'V1'}
二、删除元素:
infos.pop('name') #指定key来删除 infos.popitem() #随机删除一个key del infos['phone'] #指定key来删除 infos.clear() #清空字典
三、修改元素:
infos['name']='黄2'#如果key存在,会修改原来key对应的值
四、查找元素:
print(infos['sex']) #key不存在会报错 print(infos.get('nam',110)) #如果取不到key的话,默认就是110
五、字典的内置方法:
print(infos.values()) #获取到字典所有的值 print(infos.keys()) #获取到字典所有的key print(infos.items()) #获取到字典所有的key和值
六、循环(直接循环一个字典的话,循环的是key的值):
for p in people: print(p)
for k,v in people.items(): #循环的时候,同时取key和value print(k,v)
字典小练习:
- 校验输入的账号密码
users = {} for i in range(3): username = input('请输入账号:').strip() passwd = input('请输入密码:').strip() cpsswd = input('请再次输入密码:').strip() if username=='' or passwd=='' or cpsswd=='': print('用户名/密码不能为空') elif username in users: #字典里面用in来判断的话,只是判断Key是否存在 print('用户名已经被注册') elif passwd != cpsswd: print('两次输入的密码不一致') else: print('恭喜注册成功!') # users.setdefault(username,passwd) users[username] = passwd break else: print('错误次数过多') print(users)
- 录入学生作业情况
1.查看学生作业情况;2.录入学生作业情况
homework = { '黄1':{ '2018-6-6':'未交' } } check = input('请选择:1.查看学生作业情况;2.录入学生作业情况') if check =='1': for k,v in homework.items(): #循环取到所有的key和value print(k,v) elif check =='2': for i in range(3): name = input('输入名字:').strip() time = input('输入时间:').strip() status = input('输入状态:').strip() if name=='' or time=='' or status=='': print('输入不能为空') else: if name in homework: #判断name是否存在在字典里 homework[name][time] = status #二维字典赋值 break else: homework[name] = {time:status} print('成功') break print(homework)

浙公网安备 33010602011771号