如何在Python中从List中对所有值求和

时间:2017-11-24 23:40:10

标签: python python-3.x

所以我有一个看起来像这样的列表:

values = { '123456':['Value1':41235534], '543123':['Value1':12958362], '34573':['Value1':1295937]}

当我尝试这样的总和时:

sum1 = sum(int(i['Value1']) for i in values)

我得到“TypeError:'int'对象不可订阅”。 我做错了什么?

2 个答案:

答案 0 :(得分:2)

您发布的结构不是有效的Python。相反,它必须如此声明:

values = {
  '123456':{'Value1':41235534},
  '543123':{'Value1':12958362},
  '34573':{'Value1':1295937}}

sum1 = sum(b['Value1'] for a, b in values.items())

答案 1 :(得分:0)

按原样,values是无效的语法。修复:

values = {'123456':{'Value1':41235534},'543123':{'Value1':12958362},'34573':{'Value1':1295937}}

sum(j['Value1'] for i,j in values.items())