首页 > 解决方案 > Python defaultdict 在创建时初始化

问题描述

在创建期间有什么方法可以初始化 defaultdict 吗?我的意思是在一行中实现与此相同的行为:

x = defaultdict(int)
x[1] = 2

就像是:

x = defaultdict(int, {1:2})

其中x[1] = 2和其余所有值均为 0。

标签: pythondefaultdict

解决方案


是的。这是它应该工作的方式。

defaultdict是的子类,dict因此它将其余的构造函数参数传递到dict.

x = defaultdict(int)
x[1] = 2

y = defaultdict(int, {1:2})

print(x)
print(y)

输出:

defaultdict(<class 'int'>, {1: 2})
defaultdict(<class 'int'>, {1: 2})

两个实例具有相同的值。

注意: 这个问题最初是由另一个用户发布并删除的,但我在这里找不到类似的问题,所以我认为有一个答案会很有用。


推荐阅读