defaultdict
defaultdict 是 Python 标准库 collections 模块中的一个类,它继承自内置的 dict 类。defaultdict 提供了一个工厂函数,用于为字典的键自动分配默认值。当你尝试访问字典中不存在的键时,defaultdict 会自动为该键创建一个默认值,而不是抛出 KeyError。
defaultdict 是处理那些需要默认值的字典操作时的一个非常方便的工具,它避免了在访问字典时出现 KeyError 的风险,并简化了代码。
以下是 defaultdict 的一些关键特性和使用示例:
-
导入:
from collections import defaultdict -
创建: 创建一个
defaultdict时,你需要提供一个函数,这个函数将在字典中不存在的键被访问时调用,以生成默认值。my_defaultdict = defaultdict(list) # 使用 list 作为默认工厂函数 -
使用: 当你尝试访问
defaultdict中不存在的键时,它会自动使用默认工厂函数创建一个值,并返回这个值。my_defaultdict['new_key'].append('value') # 这将自动创建一个空列表并添加 'value' -
默认值示例: 你可以使用任何可调用对象作为默认值。常用的默认值包括
list,set,dict等。my_int_defaultdict = defaultdict(int) # 默认值为 0 my_str_defaultdict = defaultdict(str) # 默认值为空字符串 '' -
访问和修改:
defaultdict可以像普通字典一样使用,包括访问、修改和删除键值对。print(my_defaultdict['new_key']) # 输出: ['value'] my_defaultdict['new_key'] += ' another value' print(my_defaultdict['new_key']) # 输出: ['value', ' another value'] -
遍历:
defaultdict可以像普通字典一样进行遍历。for key, value in my_defaultdict.items(): print(key, value) -
默认工厂函数的调用: 当字典中不存在的键被访问时,
defaultdict会调用默认工厂函数来生成一个默认值。def default_factory(): return [] my_defaultdict = defaultdict(default_factory) my_defaultdict['another_key'] # 调用 default_factory 并返回 []
8195

被折叠的 条评论
为什么被折叠?



