首页 >后端开发 >Python教程 >Python 词典:什么时候应该使用'collections.defaultdict”?

Python 词典:什么时候应该使用'collections.defaultdict”?

Patricia Arquette
Patricia Arquette原创
2024-12-02 04:39:10193浏览

Python Dictionaries: When Should You Use `collections.defaultdict`?

深入探讨区别:Collections.defaultdict 与普通 Dict

在 Python 中,默认字典 (collections.defaultdict) 不同于常规词典以至关重要的方式。标准字典在访问不存在的键时会引发 KeyError,而 defaultdict 会通过调用指定的函数自动创建丢失的项目。

理解示例

让我们检查提供的示例:

d = defaultdict(int)

这里,int() 是默认函数,它使用整数值(默认为 0)初始化缺失的键。

for k in s:
    d[k] += 1

此循环迭代字符串 s 中的每个字符 (k) 并递增其存储在 defaultdict 中的相应计数。

d.items()
dict_items([('m', 1), ('i', 4), ('s', 4), ('p', 2)])

结果,我们获得了一个包含字符频率的字典。

在第二个中例如:

d = defaultdict(list)

list() 是默认函数,创建空列表作为缺少键的默认值。

for k, v in s:
    d[k].append(v)

此循环将 list 中的键和值配对并附加将值添加到相应键的列表中。

d.items()
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]

结果是一个字典,其中键是颜色,值是原始值中对应值的列表列表。

以上是Python 词典:什么时候应该使用'collections.defaultdict”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn