在Python中,字典是一种非常有用的数据结构,它允许我们存储键值对,并且可以快速地通过键来访问相应的值。然而,当我们尝试访问一个不存在的键时,Python会抛出一个KeyError异常。为了解决这个问题,Python提供了Defaultdict类,它允许我们为不存在的键提供一个默认值。
Defaultdict是Python的内建字典子类,它修改了字典的__missing__方法,使得当我们尝试获取不存在的键时,返回一个默认值而不是抛出KeyError异常。这个默认值可以是任何我们想要的类型,包括数字、字符串、列表、字典等。
下面是一个使用Defaultdict的简单示例:
from collections import defaultdict
# 创建一个Defaultdict,默认值为0
d = defaultdict(int)
# 添加键值对
d['a'] = 1
d['b'] = 2
# 访问不存在的键,输出为0
print(d['c']) # 输出:0
# 使用另一个默认值创建Defaultdict
d = defaultdict(str, {'a': 1, 'b': 2})
# 访问不存在的键,输出为空字符串
print(d['c']) # 输出:''
在上面的示例中,我们首先创