class collections.
defaultdict
([default_factory[, ...]])
defaultdict 是内置 dict类的子类,它重载了一个方法并添加了一个可写的实例变量。list参数为名为 default_factory的一个属性,defaultdict(list)返回一个新的类似字典的对象,当每个键第一次遇见时,它还没有在字典里面,所以自动创建该条目, list.append()
操作添加值到这个新的列表里。当再次存取该键时,就正常操作,list.append()
添加另一个值到列表中。如果传入default_factory的参数为int,,一开始初始化键对应的值都为0,可以用来进行计数,在平时创建字典的过程中使用这个方法来创建会更加方便一点,下面是python的官方帮助文档提供的一些例子:
from collections import defaultdict
if __name__ == '__main__':
s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = defaultdict(list)
for k, v in s:
d[k].append(v)
print(sorted(d.items()))
s = 'mississippi'
d = defaultdict(int)
print(d)