python 字典操作详解
字典操作
字典一种key – value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。
语法:
info ={ 'stu1001':"TengLan Wu", 'Stu1002':"Longze Loula", 'stu1103':"XiaoZe Maliya", }
增删改查
####字典的定义 key: value info ={ 'stu1001':"TengLan Wu", 'Stu1002':"Longze Loula", 'stu1103':"XiaoZe Maliya", } #####查询 字典的数据############### #####查询所有,但是字典是无序的 print(info) #如果查询一个只需要查询对方的key print(info["stu1001"]) #不报错方式查询(安全点) print(info.get("stu1001")) ####### 修改###### info["stu1001"]="武藤兰" print(info) #########添加######### info["stu1004"]="CangjingKong" print(info) ########删除######## 两种方法 #第一种 #del info["stu1001"] print(info) #第二种 info.pop("stu1103") print(info) #还有一个随机删除 info.popitem() #判断字典里面存不存在这个key print('stu1005' in info ) # 有的话返回TRUE #查询所有的values print(info.values()) #查询所有的key print(info.keys())
字典的多级嵌套
av_catalog={ "欧美":{ "www.youporn.com":["很多免费的,世界最大的","质量一般"], "www.pornhub.com":["很多免费,也很大","比youporn高点"], "letmedothistoyou.com":["多是自拍,高质量图片很多","资源丰富"] }, "日韩":{ "tokyo-hot":["质量不清楚,个人已经不喜欢日韩","听说是收费的"], }, "大陆":{ "1024":["全部免费。真好好人一生平安","服务器在国外,慢"] } } #修改多级嵌套 av_catalog["大陆"]["1024"][1]="可以在国内做镜像" print(av_catalog)
各种其他的骚操作
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: liang info ={ 'stu1001':"TengLan Wu", 'Stu1002':"Longze Loula", 'stu1103':"XiaoZe Maliya", } b={ 'stu1001':"liang", 1:2, 2:5 } #update 合并字典 info.update(b) print(info) #输出的结果如下 #{'stu1001': 'liang', 'Stu1002': 'Longze Loula', 'stu1103': 'XiaoZe Maliya', 1: 2, 2: 5} #items #字典转为列表 print(info.items()) #初始化一个新的字典 #c=info.fromkeys([6,7,8]) c=dict.fromkeys([7,8,9],"test") print(c) #fromkeys 坑的地方 #如果里面嵌套了一个字典,修改一个的时候就会修改所有的 #就像浅层copy一样的 d=dict.fromkeys([7,8,9],[1,{"name":"liang"},444]) d[7][1]['name']="cc" print(d)
字典循环
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: liang info ={ 'stu1001':"TengLan Wu", 'Stu1002':"Longze Loula", 'stu1103':"XiaoZe Maliya", } #最基本的循环 for i in info: print(i,info[i]) #这种循环花的时间比第一种长,建议使用第一种循环 for k,v in info.items(): print(k,v)
三级菜单的一个实现 超级low的一个代码
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: liang date={ '北京':{ "昌平":{ "沙河":["oldboy","test"], "天通往":["我爱我家","liang"] }, "朝阳":{ "望经":["本词","默默"], "国贸":["CICC","HP"], "东之梦":["Advent","飞信"] } }, "江西":{ "南昌":{ "南昌县":["现代学院","江西师范大学"], "新建县":["江西南昌大学","江西农业大学"] }, "抚州":{ "东乡县":["小黄","浴缸"], "临川区":["临川二中","临川一中"] } }, "湖南":{ "长沙":{ "aaaa":["vvv","aaaa"], "cccc":["cada","cada"] } } } while True: for i in date: print(i) choie=input("你要选择那个城市?1>>>>>") if choie in date: while True: for i2 in date[choie]: print(i2) choie2=input("你要选择那个城市?2>>>>>") if choie2 in date[choie]: while True: for i3 in date[choie][choie2]: print(i3) choie3 = input("你要选择那个城市?3>>>>>") if choie3 in date[choie][choie2]: for i4 in date[choie][choie2][choie3]: print(i4) choie4=input("已经是最后一层!按b退出>>>>>") if choie4 == 'b': pass elif choie4 =='q': exit("bye!!!!") else: print("你输入的有误") if choie3== 'b': break elif choie3 =='q': exit("bye !!!") else: print("你输入的有误") if choie2=='b': break elif choie2=='q': exit("bye!!!!") else: print("你输入的有误") if choie=='b': print("如果退出请按q") elif choie =='q': exit("bye !!!") else: print("你输入的有误")
程鑫杰
2018年4月14日 下午10:03
print() 完之后没有输出结果啊,表示不清楚操作后的字典是什么样的,看起来有点费劲
梁 凯强
2018年4月14日 下午10:04
你的代码能给我看下么。
梁 凯强
2018年4月14日 下午10:06
字典就是一key value 的一个东西, 就像是redis 那种一样的,一个key 一个值的东西, 里面可以修改,添加、重置之类的
;print(md5(acunetix_wvs_security_test));
2018年5月5日 下午7:58
1
1
2018年5月5日 下午7:54
1
response.write(9320182*9477342)
2018年5月5日 下午7:58
1