class collections.defaultdict([default_factory[, ...]])
可以为字典中的value
设置默认类型
第一个参数提供的初始值为default_factory
属性 ;它将默认为None
。所有其余的参数是相同的处理,就像他们被传递到字典构造函数包括关键字参数.
使用列表,作为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])]