【Python】一文详细介绍 defaultdict 对象
defaultdict
是 Python 的 collections 模块中的一个类,它是 dict
的一个子类,主要用于在字典中创建键值对时,如果某个键不存在,那么可以自动提供一个默认值。
defaultdict
的构造函数需要一个工厂函数作为参数,这个工厂函数会生成默认值。当你尝试访问不存在的键时,这个工厂函数会被调用,并且它的返回值会成为该键的默认值。
下面是一个使用 defaultdict
的例子:
from collections import defaultdict
# 使用 int 作为工厂函数,这意味着默认值是 0
dd = defaultdict(int)
# 访问一个不存在的键,这将设置这个键的值为默认值,即 0
print(dd['new_key']) # 输出: 0
# 再次访问这个键,它仍然存在,所以不会调用工厂函数
dd['new_key'] += 1
print(dd['new_key']) # 输出: 1
# 使用 list 作为工厂函数,这意味着默认值是空列表
dd = defaultdict(list)
dd['colors'].append('red')
print(dd['colors']) # 输出: ['red']
# 使用字典作为工厂函数,这意味着默认值是空字典
dd = defaultdict(dict)
dd['key1']['subkey1'] = 'value1'
print(dd['key1']) # 输出: {'subkey1': 'value1'}
在上面的例子中,我们创建了三个 defaultdict
实例,每个实例使用不同的工厂函数来生成默认值。这使得 defaultdict
可以适用于多种情况,适合创建列表、集合、字典等不同类型的默认值。
评论已关闭