class collections.defaultdict([default_factory[, ...]])
可以為字典中的value設(shè)置默認類型
第一個參數(shù)提供的初始值為default_factory屬性 ;它將默認為None。所有其余的參數(shù)是相同的處理,就像他們被傳遞到字典構(gòu)造函數(shù)包括關(guān)鍵字參數(shù).
使用列表,作為default_factory,會默認將字典中的value值作為列表處理
In [90]: dict1 = collections.defaultdict(list)
In [91]: dict1['k1'].append(1)
In [92]: dict1
Out[92]: defaultdict(list, {'k1': [1]})
# 官方示例
>>> s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
>>> d = defaultdict(list)
>>> for k, v in s:
... d[k].append(v)
...
>>> d.items()
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]