gpt4 book ai didi

python - 嵌套字典的值总和

转载 作者:行者123 更新时间:2023-12-04 00:17:32 25 4
gpt4 key购买 nike

我有一个元素数量可变的嵌套字典的所有值的总和:例如:-

a = {'val1': 3, 'val2': 4, 'val3': {'val4': 2, 'val5': 1}, 'val6': {'val7': 9, 'val8': {'val6': 43}}}

假设我有一本像上面这样的字典。我想要的输出是:

3+4+2+1+9+43 = 62

我已经尝试过了,但我知道它不会起作用:

dict_sum = 0
for k, v in a.items():

if isinstance(v,dict):
dict_sum += sum(v.values())
else:
dict_sum += v

但它不适用于具有多个嵌套字典的字典。任何帮助将不胜感激。

最佳答案

一种方法是使用递归。

例如:

data = {'val1': 3, 'val2': 4, 'val3': {'val4': 2, 'val5': 1}, 'val6': {'val7': 9, 'val8': {'val6': 43}}}

def get_sum(data):
s = 0
for _, v in data.items():
if isinstance(v, dict):
s += get_sum(v)
else:
s += v
return s
print(get_sum(data)) # --> 62

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

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