1. 這個建構函式需要乙個函式作為引數,每當訪問乙個字典中不存在的鍵時,將會不帶引數的呼叫這個函式,並將結果設定為預設值。
2. 眾所週期,如果訪問字典中不存在的鍵時,會引發keyerror異常。
其實這個方法主要是用來統計計數的
# 語法格式:# collections.defaultdict([default_factory[, …]])
from
collections import defaultdict
s=[('
yellow
',1),('
blue
', 2), ('
yellow
', 3), ('
blue
', 4), ('
red', 1
)]d=defaultdict(list)
print(d)
for k, v in
s: print(k,v)
a=sorted(d.items())
print(a)
# defaultdict(
'list
'>, {})
# yellow
1# blue
2# yellow
3# blue
4# red
1# [(
'blue
', [2, 4]), ('
red', [1]), ('
yellow
', [1, 3
])]#
# 這種方法比使用dict.setdefault()更為便捷,dict.setdefault()也可以實現相同的功能。
from
collections import defaultdict
s = '
mississippi
'd = defaultdict(int
)for k in
s: d[k] += 1
print('\n
',d)
a=sorted(d.items())
print('\n
',a)
# defaultdict(
class
'int
'>, )
# [('i
', 4), ('
m', 1), ('
p', 2), ('
s', 4)]
Python說文解字 main
1.main函式 我們知道很多的程式語言都要寫乙個main函式,比如在c 中main函式還需要大寫。很多人疑惑為什麼要寫這麼乙個main函式。其實這就是好比我們在建了一排房子,你從哪個門都可以進入,這就是不寫main函式的時候。在python中如果我們不寫main函式 定義乙個檔案house1.py...
Python說文解字 雜談08
1.python變數到底是什麼?python和j a中的變數本質不一樣,python的變數實質是乙個指標 int str,便利貼 a 1 1.a貼在1上面 2.它的過程是先生成物件,然後貼便利貼。3.is 是指的標籤貼是否一樣。a 1 b 1 這個是一樣,用的是小整數的內部inter機制的內部優化。...
Python說文解字 雜談07
1.深入dict from a 2.常用方法 a bobby2 clear a.clear copy,返回淺拷貝 new dict a.copy new dict bobby1 company imooc3 深拷貝 import copy new dict copy.deepcopy a new d...