Python 一个字典中多个列表的总和

Python 一个字典中多个列表的总和,python,python-3.x,list,Python,Python 3.x,List,对python非常陌生,希望能在这里得到一些帮助。我正试图从字典里的不同列表中总结总数 {'1': [0, 2, 2, 0, 0], '2': [0, 1, 1, 0, 0], '3': [2, 4, 2, 0, 2]} 我一直试图找到一种方法,将总数总结如下,并添加到一个新列表中: '1': [0, 2, 2, 0, 0] '2': [0, 1, 1, 0, 0] '3': [2, 4, 2, 0, 2] 0+0+2 = 2 2+1+4 = 7 2+1+2 = 5 [2, 7, 5, 0

对python非常陌生,希望能在这里得到一些帮助。我正试图从字典里的不同列表中总结总数

{'1': [0, 2, 2, 0, 0], '2': [0, 1, 1, 0, 0], '3': [2, 4, 2, 0, 2]}
我一直试图找到一种方法,将总数总结如下,并添加到一个新列表中:

'1': [0, 2, 2, 0, 0]
'2': [0, 1, 1, 0, 0]
'3': [2, 4, 2, 0, 2]

0+0+2 = 2
2+1+4 = 7
2+1+2 = 5

[2, 7, 5, 0, 2]
如果我这样做的话,我能够得到一行的部分结果,但是我无法找到一种方法来获得我想要的输出

total_all = list()
    for x, result_total in result_all.items():
        new_total = (result_total[1])
        total_all.append((new_total))
    print(sum(total_all))

output 7
使用
zip()
()函数转换字典值和
sum()
在列表理解中对它们进行汇总,我们将非常感谢您的任何建议和帮助

d = {'1': [0, 2, 2, 0, 0], '2': [0, 1, 1, 0, 0], '3': [2, 4, 2, 0, 2]}

out = [sum(i) for i in zip(*d.values())]
print(out)
印刷品:

[2, 7, 5, 0, 2]
编辑(很少解释):

zip()内部的星形表达式
*
有效地将dict值解压为:

out = [sum(i) for i in zip([0, 2, 2, 0, 0], [0, 1, 1, 0, 0], [2, 4, 2, 0, 2])]
zip()
迭代每个参数:

1. iteration -> (0, 0, 2)    
2. iteration -> (2, 1, 4)
...
sum()

1. iteration -> sum( (0, 0, 2) ) -> 2
2. iteration -> sum( (2, 1, 4) ) -> 7
...
使用
zip()
()函数转换字典值,并在列表中使用
sum()
对它们求和:

d = {'1': [0, 2, 2, 0, 0], '2': [0, 1, 1, 0, 0], '3': [2, 4, 2, 0, 2]}

out = [sum(i) for i in zip(*d.values())]
print(out)
印刷品:

[2, 7, 5, 0, 2]
编辑(很少解释):

zip()内部的星形表达式
*
有效地将dict值解压为:

out = [sum(i) for i in zip([0, 2, 2, 0, 0], [0, 1, 1, 0, 0], [2, 4, 2, 0, 2])]
zip()
迭代每个参数:

1. iteration -> (0, 0, 2)    
2. iteration -> (2, 1, 4)
...
sum()

1. iteration -> sum( (0, 0, 2) ) -> 2
2. iteration -> sum( (2, 1, 4) ) -> 7
...
你可以这样做

In [6]: list(map(sum,zip(*d.values())))                                                                                                                                                                     
Out[6]: [2, 7, 5, 0, 2]
你可以这样做

In [6]: list(map(sum,zip(*d.values())))                                                                                                                                                                     
Out[6]: [2, 7, 5, 0, 2]

谢谢这里的帮助和详细的解释谢谢这里的帮助和详细的解释