python三级字典_11-python字典使用和三级菜单

这篇博客介绍了Python字典的基本操作,包括添加、修改、删除元素,以及字典的嵌套使用。同时,通过实例展示了如何用字典实现一个三级菜单程序,用户可以逐级深入选择并退出。
摘要由CSDN通过智能技术生成

字典

#字典是无序的,但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退出程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值