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

Defaultdict 与常规词典:什么时候应该使用'defaultdict”?

Susan Sarandon
发布: 2024-12-03 18:30:12
原创
613 人浏览过

Defaultdict vs. Regular Dictionary: When Should You Use a `defaultdict`?

Defaultdict 与常规字典:了解区别

Python 的内置字典是存储键值对的基本数据结构。然而,defaultdict 类型提供了一个独特的功能,使其与常规词典区分开来。

关键区别:抑制 KeyError 异常

当访问一个不存在的键时常规字典,你会遇到 KeyError 异常。相比之下,defaultdicts 提供了一种通过自动为丢失的键创建默认条目来优雅地处理此类情况的方法。

创建默认项

控制默认值的类型创建项目后,您指定一个“可调用”对象作为 defaultdict 构造函数的参数。例如,Python 文档中的两个示例:

  • 在第一个示例中,defaultdict 对象使用 int 作为可调用对象进行初始化,因此它会生成整数对象 (0) 作为默认项。
  • 在第二个示例中,defaultdict 对象使用 list 作为可调用对象,导致默认为空列表items.

默认项目创建示例:

考虑以下代码片段:

import collections

# Create a defaultdict with initial values set to 0
s = 'mississippi'
d = collections.defaultdict(int)
for char in s:
    d[char] += 1
print(d)  # Output: {'m': 1, 'i': 4, 's': 4, 'p': 2}

# Create a defaultdict with initial values as empty lists
colors = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = collections.defaultdict(list)
for color, count in colors:
    d[color].append(count)
print(d)  # Output: {'blue': [2, 4], 'red': [1], 'yellow': [1, 3]}
登录后复制

通过了解 defaultdict 之间的差异和常规字典,您可以利用 defaultdict 的能力在 Python 中有效处理丢失的键应用程序。

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

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