首页 >后端开发 >Python教程 >Defaultdict 与常规字典:何时以及为何使用 `int` 和 `list` 参数?

Defaultdict 与常规字典:何时以及为何使用 `int` 和 `list` 参数?

Susan Sarandon
Susan Sarandon原创
2024-12-06 21:19:12208浏览

Defaultdict vs. Regular Dictionary: When and Why Use `int` and `list` Parameters?

defaultdict 与常规字典

尽管查看了 Python 文档的示例,但澄清 defaultdict 方法的微妙之处仍然难以捉摸。让我们进一步探索这些示例并解读 int 和 list 参数的用途。

在第一个示例中:

from collections import defaultdict
s = 'mississippi'
d = defaultdict(int)
for k in s:
    d[k] += 1

defaultdict 创建一个映射,其中字符串 s 中的每个字符映射到一个整数。 int 参数表示当字符串中遇到新字符时,它的默认值为 0。这可以在输出中看到:

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

在第二个示例中:

s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = defaultdict(list)
for k, v in s:
    d[k].append(v)

defaultdict 创建一个映射,其中每个键(是一种颜色)映射到一个列表。 list 参数表示当遇到新颜色时,它采用的默认值是一个空列表。这可以在输出中看到:

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

因此,defaultdict 中的 int 和 list 参数指定访问新键时创建的默认对象的类型。在第一个示例中,字符串中的新字符映射到 0,在第二个示例中,新颜色映射到空列表。

以上是Defaultdict 与常规字典:何时以及为何使用 `int` 和 `list` 参数?的详细内容。更多信息请关注PHP中文网其他相关文章!

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