python-字典
字典的特性:
- 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 pass 46 if choice4 == 'b': 47 break 48 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)
字典的增删改查和列表差不多。。。。。。。。。。。