从嵌套列表中打印相同值的总和

时间:2019-03-08 21:30:03

标签: python python-3.x

我正在使用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

有没有更简单的方法来实现这一目标?

1 个答案:

答案 0 :(得分:-1)

我发布帖子后就想通了。也许将来会帮助其他人:

从集合中导入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)