定義, 初始化
1:d = dict() 或則 d={}
2: dict(**kwargs)使用name=value初始化一個字典
3: dict(iterable, **kwargs) 使用可迭代對象和name=value構造字典,可迭代對象必須是個二元結構demo: d=dict(((1,"a"), (2, "b"), [3, "d"]))
4:dict(mapping, **kwargs) 使用一個字典構造另一個字典
5:d={「a」:1, 「b」:None, 「c」:[1,2,3]}
6:類方法dict.fromkeys(iterable, value)d=dict.fromkeys(range(5))
或則d=dict.fromkeys(range(5), 0)
前邊的value所有爲None,後邊的value所有爲0
元素的訪問
1:d[key]
2:get(key[,default])
3:setdefault(key[,default])->1,返回key對應的value。2,key不存在建立k,v對,default沒有設置返回Nonepython
添加和修改
1:d[key] = value->1,返回key對應的value值。2:key不存在,則建立k,v對
2:update([other])->1:使用另一個字典的k,v對更新本字典。2:key不存在,則添加。3:key存在,覆蓋value值d.update(red=1) d.update((('red',2),)) d.update({'red':3})
web
字典的刪除
1:pop(key[, default])
——key存在,移除它,並返回它的value
——key不存在,返回給定的default
——default未設置,key不存在則拋出KeyError異常
2: popitem()
——移除並返回一個任意的鍵值對
——字典爲empty,拋出KeyError異常
3:clear()
——清空字典
4:del語句
——del[「b」]
del 看試刪除了一個對象,實則減小了對象的引用,刪除的只是名稱,而不是對象app
字典遍歷
keys()、values()、items()dom
defaultdict
collections.defaultdict([default_factory[,]])
——第一個參數default_factory,缺省是None,它提供一個初始化的函數,當key不存在的時候,會調用這個工廠函數來生成key對應的valuesvg
from collections import defaultdict import random d = defaultdict(list) # 能夠是任何可變類型,等價於給value設置了一個默認值 for k in "abcdefg": for i in range(random.randint(1,7)): d[k].append(i) print(d) d2 = defaultdict(set) d2["a"] print(d2)->{"a":set()}
OrderedDict
說明:
可使用它來建立有序字典,有序指插入的順序函數
od = OrderedDict() for key in range(1,5): od[key] = str(key) print(od)