python的collections包中的defaultdict是什么

defaultdict 是 Python collections 包中的一种数据结构,它是一个字典(dictionary)的子类。它与普通的字典相比,最大的区别是在于在查询一个不存在的键时,defaultdict 会自动为该键创建一个默认值,而不是引发 KeyError 异常。

defaultdict 接受一个默认工厂函数作为其第一个参数,该函数在创建新的键时会返回默认值。可以将工厂函数设置为任何可调用对象(callable),例如 intfloatlist 等内置函数,也可以自定义一个函数。

下面是一个示例,用 defaultdict 计算单词列表中每个单词出现的次数:

from collections import defaultdict

words = ['apple', 'banana', 'apple', 'cherry', 'apple', 'banana']
word_count = defaultdict(int)

for word in words:
    word_count[word] += 1

print(word_count)
# defaultdict(, {'apple': 3, 'banana': 2, 'cherry': 1})

在这个示例中,defaultdict(int) 创建了一个默认值为 0 的 int 对象,当一个新的单词首次出现时,word_count[word] 会被自动初始化为 0。因此,只需对每个单词的计数器增加 1 即可。最后输出 word_count 的结果时,它会自动省略掉值为 0 的键。

你可能感兴趣的:(word)