字典
#字典是无序的,但key是唯一的。
'''
info = {
"stu1101":"Zhan San",
"stu1102":"Li Si",
"stu1103":"Wang Wu",
"stu1104":"Zhao Liu"
}
print(info)
print(info["stu1101"])#1、根据键取出对应的值
info["stu1101"] = "张三"#2、如果key存在就修改,否则就创建,如下
info["stu1105"] = "Liu Qi"
del info["stu1101"]#3、删除某个元素
info.pop("stu1102")#删除某个元素
info.popitem()#随机删除某个元素
print(info)
#第二种方式查找,若字典中不存在要查找的元素就返回none,有的话就返回。
print(info.get("stu1101"))#安全获取方法
print("stu1101" in info)#判断字典中是不是存在这个key对应的元素,在python2.x中是这个方法:info.haskey("stu1101")
'''
#字典的嵌套
catalog = {
"欧美":{
"www.youporn.com":["很多免费的,世界最大的","质量一般"],
"www.pornhub.com":["很多免费的,也很大","质量yourporn高点"],
"letmedothistoyou.com":["多是自拍,高质量图片很多","资源不多,更新慢"],
"x-art.com":["质量很高,真的很高","全部收费,你请绕过"]
},
"日韩":{
"tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了,听说是收费的"]
},
"大陆":["全部免费,真好,好人一生平安","服务器在国外,速度有点慢"]
}
#print(catalog.values())#打印所有的values
#print(catalog.keys())#打印所有的keys
catalog.setdefault("台湾",{"taiwan":[1,2,3,4]})#若key为台湾存在,不进行任何操作,不存在,就添加
print(catalog)
b = {
"大陆":"台湾自古以来就是中国领土不可分割的一部分",
"上蔡县":"我就是上蔡县的人",
"河南":"河南自古以来就是人口大省"
}
catalog.update(b)#字典b中的key如果有和catalog中相同的就把原来的value替换掉,没有的话就合并
print(catalog)
print(catalog.items())#把字典中的键值对转换成列表
#初始化字典
c = dict.fromkeys([1,2,3],"xieweiyan")
print(c)#打印:{1: 'xieweiyan', 2: 'xieweiyan', 3: 'xieweiyan'}
#字典循环
#方法一:
person = {
"name":"xieweiyan",
"age":"27",
"height":"58"
}
for i in person:#直接索引,效率比较高
print(i,person[i])
#方法二:
for m,n in person.items():#先把字典转换成列表,然后再遍历,效率没有方法一高
print(m,n)
三级菜单程序:
data = {
"北京":{
"昌平":{
"沙河":["oldboy","test"],
"天通苑":["链家地产","我爱我家"]
},
"朝阳":{
"望京":["奔驰","陌陌"],
"国贸":["CICC","HP"],
"东直门":{"Advent","飞信"}
},
"海淀":{}
},
"山东":{
"德州":{},
"青岛":{},
"济南":{}
},
"广东":{
"东莞":{},
"常熟":{},
"佛山":{}
}
}
exit_flag = False
while not exit_flag:
for i in data:
print(i)
choice = input("选择进入>>>:")
if choice in data:
while not exit_flag:
for m in data[choice]:
print("\t",m)
choice2 = input("选择进入2>>>:")
if choice2 in data[choice]:
while not exit_flag:
for n in data[choice][choice2]:
print("\t\t", n)
choice3 = input("选择进入3>>>:")
if choice3 in data[choice][choice2]:
for p in data[choice][choice2][choice3]:
print("\t\t\t",p)
choice4 = input("按b退回上一级菜单")
if choice4 == "b":
pass#两个作用:1、占位符;2、先放着不写
elif choice4 == "q":#输入q退出程序
exit_flag = True
if choice3 == "b":#输入q退回上级菜单
break
elif choice3 == "q":#输入q退出程序
exit_flag = True
if choice2 == "b":#输入q退回上级菜单
break
elif choice2 == "q":#输入q退出程序
网友评论