首页 > 解决方案 > 具有相同键 PYTHON 的嵌套字典的总和值

问题描述

我在论坛中搜索过,但没有找到适合我的案例的选项。

我有这个嵌套的字典

nestedDict = {5: {'B02682': 227808, 'B02598': 183263, 'B02617': 108001, 'B02512': 35536, 'B02764': 9908}, 4: {'B02598': 260549, 'B02682': 222883, 'B02617': 122734, 'B02512': 36765, 'B02764': 9504}, 1: {'B02598': 242975, 'B02682': 194926, 'B02617': 184460, 'B02512': 32509, 'B02764': 8974}, 0: {'B02617': 355803, 'B02598': 220129, 'B02682': 173280, 'B02764': 48591, 'B02512': 31472}, 2: {'B02617': 310160, 'B02598': 245597, 'B02682': 196754, 'B02512': 35021, 'B02764': 8589}, 3: {'B02617': 377695, 'B02598': 240600, 'B02682': 197138, 'B02764': 178333, 'B02512': 34370}}

我需要用相同的键对元素的值求和,这样我才能得到这样的东西

result = {'B02617': 1458853, 'B02598': 1393113, 'B02682': 1212789, 'B02764': 263899, 'B02512': 205673}

提前致谢

标签: python

解决方案


尝试这个:

result={}

for i in nestedDict:
    for k in nestedDict[i]:
        if k in result:
            result[k]+=nestedDict[i][k]
        else:
            result[k]=nestedDict[i][k]

>>> print(result)

{'B02682': 1212789, 'B02598': 1393113, 'B02617': 1458853, 'B02512': 205673, 'B02764': 263899}

推荐阅读