gpt4 book ai didi

python - 默认字典的默认字典?

转载 作者:IT老高 更新时间:2023-10-28 12:09:33 28 4
gpt4 key购买 nike

有没有办法有一个 defaultdict(defaultdict(int)) 以使下面的代码工作?

for x in stuff:
d[x.a][x.b] += x.c_int

d 需要临时构建,具体取决于 x.ax.b 元素。

我可以使用:

for x in stuff:
d[x.a,x.b] += x.c_int

但是我将无法使用:

d.keys()
d[x.a].keys()

最佳答案

是这样的:

defaultdict(lambda: defaultdict(int))

当您尝试访问不存在的键时,将调用 defaultdict 的参数(在本例中为 lambda: defaultdict(int))。它的返回值将被设置为该键的新值,这意味着在我们的例子中 d[Key_doesnt_exist] 的值将是 defaultdict(int)

如果您尝试从最后一个 defaultdict 访问 key ,即 d[Key_doesnt_exist][Key_doesnt_exist] 它将返回 0,这是最后一个 defaultdict 的参数的返回值,即 int().

关于python - 默认字典的默认字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5029934/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com