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)
#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("你输入的有误")