初識python: 字典
阿新 • • 發佈:2018-09-15
常用 數據 values 新的 獲取值 lse elif ice 字典實現
使用數據字典,編寫一個多級菜單:
需求:每一級可返回上級,可退出。
多級菜單#!/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)字典常用操作
初識python: 字典