python对dict的操作
字典的优点:
1、取数据方便
2、速度快
字典dict的格式为:{'key' : 'value' , 'key' : 'value'}
字典可嵌套,如:{‘name’ : {"high‘:’100','sex':'male'}}
字典的方法:
#方法
print(infos.values())#获取到字典所有的value
print(infos.keys()) #获取到字典所有的key
print(infos.items()) # 获取字典所有的key-value
字典的操作:
#查
print(infos.get('phone'))#取不到这个key的话,就是None
print(infos.get('phone',110))#如果取不到这个key的话,默认就是110
print(infos['phone'])#如果key不存在会报错
infos = {'name':'张流量','sex':'男','addr':'火星','age':180}
infors['k'] #如果“k”不存在这个key会报错
#增
infos['phone']=13611087045 #增加一个key
infos.setdefault('小金库','2000w')
infos.setdefault('name','鹏妹妹') #如果key存在的话,不会修改原来key里面的值
a.update(b) #把b字典的值加入到a字典中,如果key存在的话,会更新key的值
infos['name']='鹏妹妹' #如果key存在的话,会修改原来key对应的value
homeworks.setdefault(name,{date:statue}) #嵌套数据增加数据
# print(infos)
#字典是无序的
#修改
infos['name']='鹏妹妹'
#删除
infos.pop('name') #指定key来删除
infos.popitem() #随机删除一个key
del infos['phone'] #指定key来删除
infos.clear() #清空字典
示例:
people = { '田雨':{ 'age':18, 'money':200000, 'clothes':'100套', 'hzp':'n多', 'shoes':['nike','addis','lv','chanle'] }, '张流量':{ '金库':'2000w', 'house':['三环一套','4环2套'], 'cars': { 'japan':['普拉多','兰德酷路泽'], 'usa':['林肯','凯迪拉克','福特'], 'china':['五菱宏光','qq','红旗'] } } } people['张流量']['cars']['usa'].append('牧马人') people['田雨']['shoes'].append('匡威') print(people) people['田雨']['money'] = people['田雨']['money']+200 people['田雨']['money'] += 200 print(people) #直接循环一个字典的话,那么循环的是字典的key for p in people: print(p) for k,v in people.items(): #循环的时候,同时取key和value print(k,'======》',v)
示例:
#!/user/bin/python # -*-coding:utf-8 -*- homeworks = { '张流量':{'2018.3.22':"未交",'2018.3.23':'wei交'}, '田雨':{'2018.3.22':"未交",'2018.3.23':'wei交'} } for i in range(3): choose = input("请选择你的操作:\n" "1录入学生情况\n" "2查看学生情况\n").strip() if choose == '1': date = input("录入日期:") name = input("学生姓名:") statue = input("已交/未交:") if date.strip() == '' or name.strip() == '' or statue.strip() == '': print("录入内容不允许为空") continue else: print (homeworks.keys()) #判断输入的名字是否在字典中,已有,只添加日期和状态 if name in homeworks.keys(): homeworks[name].setdefault(date,statue) else: # 判断输入的名字是否在字典中,没有,添加整条数据,setdefault的使用格式:setdefault(str,str) homeworks.setdefault(name,{date:statue}) print(homeworks) if choose == '2': select = input("选择学生姓名:") for i in homeworks.keys(): if select == i: print(homeworks[select]) break else: print("没有这个学生")

浙公网安备 33010602011771号