字典是無序的,格式爲:一個key對應一個value
定義
info = {
"name": "domain",
"age": 15,
"job": "IT",
"future": "cool"
}
增
info["sex"] = "male" # 新增一個 key-value
刪
del info["job"] # 刪除指定key的鍵值對
info.pop("name") # 刪除指定key的鍵值對
info.popitem() # 隨機刪除鍵值對
查
info["future"] # 如果不存在,報錯
info.get("age1") # 如果不存在,返回none
print("age1" in info) # 判斷字典中是否有key爲age1的鍵值對
改
info["sex"] = "female" # 改變指定key的值
print(info)
多級嵌套
book = {
"science":
{
"三體": ["大型科幻小說", 158],
"盜墓筆記": ["古代盜墓故事", 178],
"鬼吹燈": ["驚悚鬼故事", 58]
},
"romance":
{
"霸道總裁愛上我": ["大型科幻小說", 158],
"霸道總裁愛上我2": ["大型科幻小說", 158],
"霸道總裁愛上我3": ["大型科幻小說", 158],
},
"prose":
{
"草房子": ["曹文軒散文書籍", 58],
"草房子2": ["曹文軒散文書籍", 58],
"草房子3": ["曹文軒散文書籍", 58],
"草房子4": ["曹文軒散文書籍", 58],
},
}
print(book)
其他方法
得到典所有value
book.values() # 得到典所有value
得到字典所有value
book.keys() # 得到字典所有value
添加一個鍵值對
book.setdefault("game", {"英雄聯盟": ["大型網絡遊戲", 99999999999]}) # 添加一個鍵值對,有則不再添加,無則添加
print(book)
更新字典
pass_through = { #新建一個字典
"pass_through":
{
"crossfire": ["大型網絡遊戲穿越火線", 99999999999]
},
"prose":
{
"草房子": ["曹文軒散文書籍", 58],
"丫頭": ["網絡電視劇原小說", 58],
"草房子2": ["曹文軒散文書籍", 58],
"草房子3": ["曹文軒散文書籍", 58],
}
}
book.update(pass_through) #把剛剛新建的字典更新到之前的book字典,重複的不更新,不重複的加上
print(book)
字典轉列表
print(book.items()) #字典轉列表
c=dict.fromkeys(["name1","name2","name4"],["domain","marry","alex"]) #新建一個字典,第一個參數是所有的key,第二個參數是所有key的value,ps:改變其中一個key的value,如果value有兩層,那麼所有key的value都會改變,同列表的淺拷貝
print(c)
循環
print("循環方式一".center(30,"-"))
for i in book:
print(i,book[i])
print("循環方式二".center(30,"-")) #比上面方式低效,要先轉成列表,如果數據量大,運行速度會變慢
for k,v in book.items():
print(k,v)
更多最新Python教程資源關注微信公衆號 凱撒網絡研究院,回覆 Python獲取。