1. 程式人生 > >初識python: 字典

初識python: 字典

常用 數據 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: 字典