Python 有一个defaultdict类,其行为类似于字典,只不过它在遇到新键时输出默认值。此默认值是使用default_factory属性创建的,该属性是一个不带参数的函数。
defaultdict
default_factory
例如,d = defaultdict(int)创建一个d默认值为 0 的字典,因为int()返回 0。
d = defaultdict(int)
d
int()
为什么默认值存储为不带参数的函数,而不是存储默认值本身?我假设这种选择的实现背后有一个原因,但我不明白它是什么。从天真的角度来看,存储默认值似乎同样有效且不那么复杂。
python dictionary
dictionary ×1
python ×1