标准字典包括setdefault()用于检索值并在值不存在时建立默认值的方法。相反,defaultdict让初始化容器时,调用者可以预先指定默认值。
collections_defaultdict.py
importcollectionsdefdefault_factory():return'default value'd=collections.defaultdict(default_factory,foo='bar')print('d:',d)print('foo =>',d['foo'])print('bar =>',d['bar'])
只要适合所有键具有相同的默认值,此方法就可以正常工作。如果默认值是用于聚合或累积值的类型(例如a ,或甚至)list,则它尤其有用 。标准库文档包括以这种方式使用的几个示例 。setintdefaultdict
$ python3 collections_defaultdict.py
d: defaultdict(,
{'foo': 'bar'})
foo => bar
bar => default value
也可以看看
defaultdict示例 - 使用defaultdict标准库文档的示例。
Python中默认字典的演变 - James Tauber关于如何defaultdict 与其他初始化字典的方法相关的讨论。
网友评论