首页 > 解决方案 > 如何从字典中获取值

问题描述

a = dict()
uid1 = 1
uid2 = 2
a[uid1] = {}
a[uid2] = {}
iid1 = 45
iid2 = 98
iid3 = 3
iid4 = 82
iid5 = 11
a[uid1][iid1] = 125
a[uid2][iid2] = 7
a[uid1][iid3] = 4
a[uid2][iid4] = 10
a[uid2][iid5] = 20

得到:

{1: {45: 125, 3: 4}, 2: {98: 7, 82: 10, 11: 20}}

我想要得到的是计算 125+4=129 和 7+10+20=37 的总和

我试过这个:

for u,items in a.items():
    for i,counts in items.items():
        for count in counts:
            print(count)

收到这样的通知:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-48-8b6a2dace81e> in <module>
      1 for u,items in a.items():
      2     for i,counts in items.items():
----> 3         for count in counts:
      4             print(count)

TypeError: 'int' object is not iterable

现在我不知道如何进行。

标签: pythondictionary

解决方案


很简单,试试单行。

a = {1: {45: 125, 3: 4}, 2: {98: 7, 82: 10, 11: 20}}
print([sum(values.values()) for key,values in a.items()])

推荐阅读