尽管查看了 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中文网其他相关文章!