字典的特性:
- dict是无序的
- key必须是唯一的,so 天生去重
字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。
随便来个三级菜单例子:(自己以前太low了,不知道插入代码,只知道插图。。。。。。。。。。。。。。。。)
1 data = { 2 '北京':{ 3 '朝阳':{ 4 '望京':['奔腾','陌陌'], 5 '国贸':['CICC','HP'], 6 '东直门':['飞信'] 7 }, 8 '海淀':{}, 9 '昌平':{10 '沙河':['test'],11 '天通苑':['我爱我家']12 }13 },14 '天津':{15 '蓟县':['农家乐'],16 '宝坻':['广济寺'],17 '南开':['南开大学']18 },19 '重庆':{20 '万州区':['万州大瀑布'],21 '江津区':['中山古镇'],22 '南川区':['乾丰乡']23 }24 25 }26 while True:27 for i in data:28 print(i)29 choice = input('选择进入:')30 if choice in data:31 while True:32 for i2 in data[choice]:33 print('\t',i2)34 choice2 = input('选择进入2:')35 if choice2 in data[choice]:36 while True:37 for i3 in data[choice][choice2]:38 print('\t\t',i3)39 choice3 = input('选择进入3:')40 if choice2 in data[choice]:41 for i4 in data[choice][choice2][choice3]:42 print('\t\t\t',i4)43 choice4 = input('最后一层,按b返回')44 if choice4 == 'b':45 pass46 if choice4 == 'b':47 break48 if choice2 == 'b':49 break
语法:
info = { 'stu01': "yue", 'stu02': "peter", 'stu03': "tony",}
增加:
info['stu04']="james"
删除:
del info['stu02']#指定删除info.pop['stu01']#标准删除
修改:
info['stu02']="lili"
查找:
"stu02" in info #标准用法 info.get("stu02") #获取info["stu05"] #如果一个key不存在,就报错,get不会,不存在只返回None
多级字典嵌套及操作:
data = { '北京':{ '朝阳':{ '望京':['奔腾','陌陌'], '国贸':['CICC','HP'], '东直门':['飞信'] }, '海淀':{}, '昌平':{ '沙河':['test'], '天通苑':['我爱我家'] } }, '天津':{ '蓟县':['农家乐'], '宝坻':['广济寺'], '南开':['南开大学'] }, '重庆':{ '万州区':['万州大瀑布'], '江津区':['中山古镇'], '南川区':['乾丰乡'] }
循环dict:
例1:for key in info: print(key,info[key])例2:for k,v in info.items(): #会先把dict转成list,数据里大时莫用 print(k,v)