首页 > 解决方案 > python:通过对多个列表的值求和来创建新列表

问题描述

我想创建一个新列表,它是以前列表的列的总和。

我有很多不同的列表,我想以最有效的方式总结所有不同的列表。以下是我要解决的问题的示例:

list[0] = [2,4,1,6,7] 
list[1] = [3,1,2,11,0]
list[2] = [2,4,2,2,1]
...
list[999] = [4,2,5,6,7]    

然后新列表看起来像这样:

新列表 = [1340,1525,675,1825,895]

创建新列表的最佳方法是什么。

标签: python

解决方案


您如何看待这个解决方案:

import numpy as np

a = list()

a.append([2, 4, 1, 6, 7])   # a[0]
a.append([3, 1, 2, 11, 0])  # a[1]
a.append([2, 4, 2, 2, 1])   # a[2]

# 1st solution

rslt_1 = a[0]

for _ in range(1, len(a)):
    rslt_1 = np.add(rslt_1, a[_])

# 2nd solution

rslt_2 = np.sum(a, axis=0)

print("Rslt_1:", rslt_1)
print("Rslt_2:", rslt_2)

回报:

Rslt_1: [ 7  9  5 19  8]
Rslt_2: [ 7  9  5 19  8]

推荐阅读