與 清單 list
[]
、元組 tuple
()
不同,字典 dict 是另一種可變容器模型,且可成對地(pairwise)存儲任意類型對象。字典的每個鍵值 key->value 對用冒号 : 分割,每個鍵值對之間用逗号 , 分割,整個字典包括在花括号
{}
中。
字典定義及初始化
# 正常定義
info_dict = {"name": "wayne17", "age": 17, "sex": "male", 1: 17}
# 非正常形式
info2 = {1: [2, 3], "class": (3, 2), "type": 2, "dict": {2: 3}}
字典中,鍵與鍵值一一對應,鍵值可以為任意對象形式(對象、元組、清單…),但鍵隻能為單一固定變量!若同一個鍵出現多次,則該鍵對應鍵值取最後一個值。
内置函數
-
根據鍵傳回鍵值,若字典中不存在該鍵則報錯dict[key]
-
根據鍵傳回鍵值,若字典中不存在該鍵則傳回預設值dict.get(key, default = None)
-
若字典中有該 key ,傳回對應鍵值,否則将鍵值對dict.setdefault(key, default = None)
添加到字典中并傳回鍵值key: default
-
删除字典,del dict
根據鍵删除鍵值對del dict[key]
-
清空字典所有條目dict.clear()
-
傳回字典鍵值對個數len(dict)
-
若字典中有該 key ,傳回 True, 否則傳回 Falsekey in dict
-
傳回字典所有的 key ,若想索引可轉化為清單dict.keys()
list(dict.keys())
-
傳回字典所有的 valuedict.values()
-
字典中有該 key,删除鍵對應鍵值對,并傳回鍵值,否則傳回 defaultdict.pop(key, default=None)
-
删除字典中最後一個鍵值對dict.popitem()
-
由 list/tuple 中元素作為鍵,default為鍵值建構字典(這裡的dict.fromkeys(list/tuple, default=None)
是關鍵字,不是形參)dict
-
把字典dict2的鍵值對更新到dict裡(有則改之,無則添加)dict.update(dict2)
注意
-
,[]
,get()
三種方法差別及适用場景setdefault()