1. 程式人生 > >python 字典操作詳解

python 字典操作詳解

python

字典操作

字典一種key – value 的數據類型,使用就像我們上學用的字典,通過筆劃、字母來查對應頁的詳細內容。

語法:

info ={
    ‘stu1001‘:"TengLan Wu",
    ‘Stu1002‘:"Longze Loula",
    ‘stu1103‘:"XiaoZe Maliya",
}

增刪改查

####字典的定義 key: value
info ={
    ‘stu1001‘:"TengLan Wu",
    ‘Stu1002‘:"Longze Loula",
    ‘stu1103‘:"XiaoZe Maliya",
}
#####查詢 字典的數據###############
#####查詢所有,但是字典是無序的
print(info)

#如果查詢一個只需要查詢對方的key
print(info["stu1001"])

#不報錯方式查詢(安全點)
print(info.get("stu1001"))

####### 修改######

info["stu1001"]="武藤蘭"
print(info)

#########添加#########
info["stu1004"]="CangjingKong"
print(info)

########刪除######## 兩種方法
#第一種
#del info["stu1001"]
print(info)

#第二種
info.pop("stu1103")
print(info)

#還有一個隨機刪除
info.popitem()

#判斷字典裏面存不存在這個key

print(‘stu1005‘ in info ) # 有的話返回TRUE

#查詢所有的values
print(info.values())

#查詢所有的key
print(info.keys())

字典的多級嵌套

av_catalog={
    "歐美":{
        "www.youporn.com":["很多免費的,世界最大的","質量一般"],
        "www.pornhub.com":["很多免費,也很大","比youporn高點"],
        "letmedothistoyou.com":["多是自拍,高質量圖片很多","資源豐富"]
    },
    "日韓":{
        "tokyo-hot":["質量不清楚,個人已經不喜歡日韓","聽說是收費的"],
    },
    "大陸":{
        "1024":["全部免費。真好好人一生平安","服務器在國外,慢"]
    }
}

#修改多級嵌套
av_catalog["大陸"]["1024"][1]="可以在國內做鏡像"
print(av_catalog)

各種其他的騷操作

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: liang 
info ={
    ‘stu1001‘:"TengLan Wu",
    ‘Stu1002‘:"Longze Loula",
    ‘stu1103‘:"XiaoZe Maliya",
}
b={
    ‘stu1001‘:"liang",
    1:2,
    2:5
}
#update 合並字典
info.update(b)
print(info)
#輸出的結果如下
#{‘stu1001‘: ‘liang‘, ‘Stu1002‘: ‘Longze Loula‘, ‘stu1103‘: ‘XiaoZe Maliya‘, 1: 2, 2: 5}

#items #字典轉為列表
print(info.items())

#初始化一個新的字典
#c=info.fromkeys([6,7,8])
c=dict.fromkeys([7,8,9],"test")
print(c)

#fromkeys 坑的地方
#如果裏面嵌套了一個字典,修改一個的時候就會修改所有的
#就像淺層copy一樣的
d=dict.fromkeys([7,8,9],[1,{"name":"liang"},444])
d[7][1][‘name‘]="cc"
print(d)

字典循環

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: liang 
info ={
    ‘stu1001‘:"TengLan Wu",
    ‘Stu1002‘:"Longze Loula",
    ‘stu1103‘:"XiaoZe Maliya",
}

#最基本的循環
for i in info:
    print(i,info[i])

#這種循環花的時間比第一種長,建議使用第一種循環
for k,v in info.items():

    print(k,v)

三級菜單的一個實現 超級low的一個代碼

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: liang 
date={
    ‘北京‘:{
        "昌平":{
        "沙河":["oldboy","test"],
        "天通往":["我愛我家","liang"]
    },
    "朝陽":{
        "望經":["本詞","默默"],
        "國貿":["CICC","HP"],
        "東之夢":["Advent","飛信"]
    }
    },
    "江西":{
        "南昌":{
            "南昌縣":["現代學院","江西師範大學"],
            "新建縣":["江西南昌大學","江西農業大學"]
        },
        "撫州":{
            "東鄉縣":["小黃","浴缸"],
            "臨川區":["臨川二中","臨川一中"]
        }

    },
    "湖南":{
        "長沙":{
            "aaaa":["vvv","aaaa"],
            "cccc":["cada","cada"]
        }
    }
}

while True:
    for i in date:
        print(i)
    choie=input("你要選擇那個城市?1>>>>>")
    if choie in date:
        while True:
            for i2 in date[choie]:
                print(i2)
            choie2=input("你要選擇那個城市?2>>>>>")
            if choie2 in date[choie]:
                while True:
                    for i3 in date[choie][choie2]:
                        print(i3)
                    choie3 = input("你要選擇那個城市?3>>>>>")
                    if choie3 in date[choie][choie2]:
                        for i4 in date[choie][choie2][choie3]:
                            print(i4)
                        choie4=input("已經是最後一層!按b退出>>>>>")
                        if choie4 == ‘b‘:
                            pass
                        elif choie4 ==‘q‘:
                            exit("bye!!!!")
                        else:
                            print("你輸入的有誤")
                    if choie3== ‘b‘:
                        break
                    elif choie3 ==‘q‘:
                        exit("bye !!!")
                    else:
                        print("你輸入的有誤")
            if choie2==‘b‘:
                break
            elif choie2==‘q‘:
                exit("bye!!!!")
            else:
                print("你輸入的有誤")
    if choie==‘b‘:
        print("如果退出請按q")
    elif choie ==‘q‘:
        exit("bye !!!")
    else:
        print("你輸入的有誤")

python 字典操作詳解