小编Cxo*_*ika的帖子

Python dict 具有基于键的默认值

我需要一个字典,它会自动填充每个缺失的访问键的默认值。我已经找到了defaultdict一些其他方法来实现此目的,但我的情况的问题是我希望每个键的默认值特定于键本身。

例如,defaultdict我可以实现这样的目标:

from collections import defaultdict
d = defaultdict(lambda: 5)
> d[1] = 3
> d[1]
> 3
> d[2]
> 5
Run Code Online (Sandbox Code Playgroud)

但是,如果我需要每个访问的缺失键的默认值,该怎么办key + 5?就像是:

from collections import defaultdict
d = defaultdict(lambda key: key + 5)  # <-- This does not work as defaultdict expects lambda function to be without any parameters
> d[1] = 3
> d[1]
> 3
> d[2]
> 7         <- Calculated from accessed key + 5 (2+5)
> d[5] …
Run Code Online (Sandbox Code Playgroud)

python dictionary python-3.x defaultdict

5
推荐指数
1
解决办法
1619
查看次数

标签 统计

defaultdict ×1

dictionary ×1

python ×1

python-3.x ×1