📜  defaultdict 初始化键 - Python (1)

📅  最后修改于: 2023-12-03 14:40:41.918000             🧑  作者: Mango

defaultdict 初始化键 - Python

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编程中经常被用到,尤其是在操作字典时。