初识python: 字典
使用数据字典,编写一个多级菜单:
需求:每一级可返回上级,可退出。
多级菜单
#!/user/bin env python # author:Simple-Sir # time:20180915 # 使用字典实现多级菜单 sheng = { '四川省':{ '成都':{ '高新区':['第1条信息;','第2条信息;','第3条信息。'], '天府新区':['第1条信息;','第2条信息;','第3条信息。'], '武侯区':['第1条信息;','第2条信息;','第3条信息。'], }, '德阳':{ '罗江':['第1条信息;','第2条信息;','第3条信息。'], '广汉':['第1条信息;','第2条信息;','第3条信息。'], '绵竹':['第1条信息;','第2条信息;','第3条信息。'] }, '绵阳':{ '江油':['第1条信息;','第2条信息;','第3条信息。'], '三台':['第1条信息;','第2条信息;','第3条信息。'], '安县':['第1条信息;','第2条信息;','第3条信息。'] } }, '云南省':{ '昆明': { '西山':['第1条信息;','第2条信息;','第3条信息。'], '官渡':['第1条信息;','第2条信息;','第3条信息。'], '盘龙':['第1条信息;','第2条信息;','第3条信息。'] }, '昭通': { '昭阳':['第1条信息;','第2条信息;','第3条信息。'], '鲁甸':['第1条信息;','第2条信息;','第3条信息。'], '巧家':['第1条信息;','第2条信息;','第3条信息。'] }, '大理': { '祥云':['第1条信息;','第2条信息;','第3条信息。'], '弥渡':['第1条信息;','第2条信息;','第3条信息。'], '南涧':['第1条信息;','第2条信息;','第3条信息。'] } } } t = True while t: for i in sheng: print(i) choice = input('选择进入省(Q退出):') if choice in sheng: while t: for i2 in sheng[choice]: print('\t',i2) choice2 = input('选择进入市(B返回上级,Q退出):') if choice2 in sheng[choice]: while t: for i3 in sheng[choice][choice2]: print('\t\t',i3) choice3 = input('选择进入县(B返回上级,Q退出):') if choice3 in sheng[choice][choice2]: while t: for i4 in sheng[choice][choice2][choice3]: print('\t\t\t', i4) choice4 = input('选择B返回上级,Q退出:') if choice4.upper() == 'B': break elif choice4.upper() == 'Q': exit() elif choice3.upper() == 'B': break elif choice3.upper() == 'Q': exit() else: print('您输入的区县不存在,请重新输入!') elif choice2.upper() == 'B': break elif choice2.upper() == 'Q': exit() else: print('您输入的地市不存在,请重新输入!') elif choice.upper() == 'Q': exit() else: print('您输入的省份不存在,请重新输入!')
执行结果:
数据字典常用操作:
#!/user/bin env python # author:Simple-Sir # time:20180915 # 字典基础 dict_1 = { '1': 'a', '2': 'b', '3': 'c' } print(dict_1['1']) #获取key对应的值,只能获取已存在的值 print(dict_1.get('4')) #若存在,则获取值,若不存在,返回 None print('1' in dict_1) # 判断指定值是否存在字典中 print(dict_1.values()) #获取所有值 print(dict_1.keys()) #获取所有键 dict_1['4']='d' #若存在则修改,若不存在则添加 dict_1.setdefault('1','aa') #若键已存在,则不创建 ;若不存在,则新建。 dict_1.setdefault('11','aa') #若键已存在,则不创建 ;若不存在,则新建。 del dict_1['1'] #删除指定key对应的值 dict_1.pop('4') #删除指定key对应的值 dict_1.popitem() #随机删除一个值 dict_2={ '1':'aa', '22':'bb', '33':'cc' } dict_1.update(dict_2) #剔重合并2个字典 print(dict_1) print(dict_1.items()) #将字典变成列表 a = dict.fromkeys([5,6,7],['v1','v2','v3']) #新建一个新的字典,并初始化一个值 a[5][0]='va1' #会统一修改,类似浅copy print(a) # 字典循环 # 方法一 dict_3 = { '1': 'a', '2': 'b', '3': 'c' } for i in dict_3: # i 对应字典的键 print(i,dict_3[i]) # 方法二(不建议) for k,v in dict_3.items(): #将字典转换成列表,再循环 print('方法二:',k,v) # 多级字典嵌套 sheng = { '四川省':{ '成都':['高新区','天府新区','武侯区'] } } sheng['四川省']['成都'][0]='成华区' #多级字典修改 print(sheng)
世风之狡诈多端,到底忠厚人颠扑不破;
末俗以繁华相尚,终觉冷淡处趣味弥长。
posted on 2018-09-15 18:18 Simple-Sir 阅读(294) 评论(0) 编辑 收藏 举报