Python-collections.defaultdict如何工作?
我已经阅读了python文档中的示例,但仍然无法弄清楚此方法的含义。有人可以帮忙吗?这是python文档中的两个示例
>>> from collections import defaultdict>>> s = 'mississippi'
>>> d = defaultdict(int)
>>> for k in s:
... d[k] += 1
...
>>> d.items()
[('i', 4), ('p', 2), ('s', 4), ('m', 1)]
和
>>> s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]>>> d = defaultdict(list)
>>> for k, v in s:
... d[k].append(v)
...
>>> d.items()
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
参数int
和目的list
是什么?
回答:
通常,KeyError
如果你尝试使用字典中当前不存在的键来获取项,则Python
字典会抛出a
。该defaultdict
相反只会创建你尝试访问的任何物品(当然前提是他们还不存在)。为了创建这样的“默认”项目,它调用传递给构造函数的函数对象(更确切地说,它是一个任意的“可调用”对象,其中包括函数和类型对象)。对于第一个示例,使用创建默认项int()
,它将返回integer
对象0
。对于第二个示例,使用创建默认项list()
,该默认项返回一个新的空列表对象。
以上是 Python-collections.defaultdict如何工作? 的全部内容, 来源链接: utcz.com/qa/410927.html