內置結構-dict

dict

定義, 初始化
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沒有設置返回None

添加和修改
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})

字典的刪除
1:pop(key[, default])
——key存在,移除它,並返回它的value
——key不存在,返回給定的default
——default未設置,key不存在則拋出KeyError異常
2: popitem()
——移除並返回一個任意的鍵值對
——字典爲empty,拋出KeyError異常
3:clear()
——清空字典
4:del語句
——del[“b”]
del 看試刪除了一個對象,實則減少了對象的引用,刪除的只是名稱,而不是對象

字典遍歷
keys()、values()、items()

defaultdict
collections.defaultdict([default_factory[,]])
——第一個參數default_factory,缺省是None,它提供一個初始化的函數,當key不存在的時候,會調用這個工廠函數來生成key對應的value

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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章