我已经阅读了 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用途是什么?
int
list
KeyError通常,如果您尝试使用当前不在字典中的键获取项目,则Python 字典会抛出 a 。defaultdict对比只会创建您尝试访问的任何项目(当然前提是它们尚不存在)。要创建这样一个“默认”项,它会调用您传递给构造函数的函数对象(更准确地说,它是一个任意的“可调用”对象,包括函数和类型对象)。对于第一个示例,默认项是使用创建的int(),它将返回整数对象0。对于第二个示例,默认项是使用 创建的list(),它返回一个新的空列表对象。
KeyError
defaultdict
int()
0
list()