gpt4 book ai didi

python - 追加嵌套字典

转载 作者:太空狗 更新时间:2023-10-29 22:05:25 25 4
gpt4 key购买 nike

如果您有一个嵌套字典,其中每个“外部”键都可以映射到具有多个键的字典,您如何向“内部”字典添加一个新键?例如,我有一个列表,其中每个元素由 3 个组件组成:外键、内键和值 (A B 10)。

这是我目前的循环

for e in keyList:
nested_dict[e[0]] = {e[2] : e[3:]}

现在,不是将新键:值添加到内部字典,而是任何新键:值完全替换内部字典。

例如,假设 keyList 只是 [(A B 10), (A D 15)]。该循环的结果是

{'A' : {'D' : 15}}

我怎样才能让它变成这样

{'A' : {'B' : 10, 'D' : 15}}

最佳答案

您告诉您的代码将新创建的字典分配给键 e[0]。它总是被盲目替换,并且不查看以前存储的值。

相反,你需要这样的东西:

for e in keyList:
if e[0] not in nested_dict:
nested_dict[e[0]] = {}
nested_dict[e[0]].update({e[2] : e[3:]})

If 条件是处理“第一键”情况所必需的。或者可以使用 defaultdict

from collections import defaultdict
nested_dict = defaultdict(dict)
for e in keyList:
nested_dict[e[0]].update({e[2] : e[3:]})

关于python - 追加嵌套字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39680317/

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