打印嵌套lis中相同值的总和

2024-10-16 17:24:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用for循环遍历列表,如下所示:

for c in classes:
    print(c.get(‘class’), c.get('plan'), c.get('type'), c.get(‘money’,{})[0].get(‘totalspent’))

我得到的结果是:

class1   plan1  type1 10
class2   plan2  type2 20
class3   plan3  type3 10
class2   plan2  type2 30
class3   plan3  type3 20 

我正试图找到一种方法来获得类似于:

class1  plan1 type1 10
class2  plan2 type2 50
class3  plan3 type3 30

有没有更简单的方法来实现这一点


Tags: 方法in列表forgetclassesclass1class2
1条回答
网友
1楼 · 发布于 2024-10-16 17:24:05

我一发帖子就想到了。也许将来会帮助别人:

从集合导入defaultdict

output = defaultdict(int)

for c in classes:
    output[c.get('class'), c.get('plan'), c.get('type')] += c.get('money', {})[0].get('totalspent', 0)

相关问题 更多 >