📅  最后修改于: 2023-12-03 14:40:41.918000             🧑  作者: Mango
Python中的defaultdict
是Python内置dict
类的一个子类,它重写了dict
的一个方法__missing__()
,并添加了一个可调用的默认值来初始化不存在的键。
from collections import defaultdict
d = defaultdict(int)
在上述代码中,defaultdict
在被初始化时传入int
,这将告诉它在访问一个不存在的键时返回一个0
。
如果我们想要返回一个空列表而不是0
,我们可以将list
作为默认值传递给defaultdict
:
from collections import defaultdict
d = defaultdict(list)
这将使得对不存在的键返回一个空列表[]
。
defaultdict
可以用在各种场景中,特别是在创建字典并需要给字典中不存在的键赋值时。假设你有一个如下所示的字典:
food = {'spam': 1, 'eggs': 3}
如果你想要递增bacon
的值,你需要这样做:
if 'bacon' not in food:
food['bacon'] = 0
food['bacon'] += 1
但是,如果你使用defaultdict
,你可以这样写:
from collections import defaultdict
food = defaultdict(int)
food['spam'] = 1
food['eggs'] = 3
food['bacon'] += 1
在这段代码中,如果'bacon'
不在字典中,则默认值int()
(即0
)将被返回,并且1
将被添加到这个默认值上。
总之,defaultdict
是一个很有用的工具,在Python编程中经常被用到,尤其是在操作字典时。