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

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

Patricia Arquette
发布: 2024-12-02 04:39:10
原创
115 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板