📜  defaultdict python inport - Python (1)

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

defaultdict

defaultdict 是Python中的一个内置库 collections 中的一种数据结构,它可以为字典里的key提供一个默认值。如果我们使用一个找不到的key去访问字典中的value,那么 defaultdict 就会返回一个定义好的默认值,而不是抛出 KeyError 异常。

安装

defaultdict 是Python的标准库,所以你不需要额外安装它,只需要在你的python文件中导入即可开始使用。

from collections import defaultdict
如何使用
创建 defaultdict

defaultdict 的创建类似于普通的字典,不过需要通过一个工厂函数来指定默认值的类型。

my_defaultdict = defaultdict(lambda: 0)

上面的代码中,lambda: 0定义了一个返回默认值为 0 的函数。

访问键

访问 defaultdict 中不存在的键将会返回默认值:

my_defaultdict = defaultdict(lambda: 0)
print(my_defaultdict["key"]) # 0
更新键值对

defaultdict 的更新操作同样适用于普通字典:

my_defaultdict = defaultdict(lambda: 0)
my_defaultdict["key"] = 5
print(my_defaultdict["key"]) # 5
多级嵌套

defaultdict 也可以用于多级嵌套结构。例如,一个 defaultdict 可以作为另一个 defaultdict 的默认项:

employees = defaultdict(lambda: defaultdict(int))
employees["Google"]["John"] = 100
employees["Google"]["Bob"] = 200
employees["Apple"]["Lisa"] = 300
employees["Apple"]["Tim"] = 400
print(employees["Google"]["John"]) # 100

上面的代码中,我们定义了一个 employeesdefaultdict。当没有名叫 GoogleApple 的子默认字典时,它们会被自动创建。

总结

defaultdict提供了一个简便的方法来处理字典中的默认值。通过使用默认值,我们可以避免在创建字典时花费太多的代码和时间来处理特殊情况。