有没有办法轻松加上列表的第一个元素 我需要做的就是这样:
Lista1 = [[5,7,6,4,3], [8,7,6,14,5],[5,7,8,6,9]]
结果
18 21 20 24 17
答案 0 :(得分:6)
当然有一种方法:
map(sum, zip(*Lista1))
此处,zip(*Lista1)
转置Lista1
,map(sum, ...)
将sum
函数应用于转置列表的每个列表。
答案 1 :(得分:3)
使用list comprehension
的一个班轮:
>>> [ sum(row[i] for row in l) for i in range(len(l[0])) ]
#driver values:
IN : l = [[5,7,6,4,3], [8,7,6,14,5],[5,7,8,6,9]]
OUT : [18, 21, 20, 24, 17]
注意:我建议您使用zip
完成答案。更多 pythonic 和更好的运行时间。
答案 2 :(得分:0)
NumPy是实现这一目标的好方法。您可以使用np.sum
并指定要汇总的轴。例如:
import numpy as np
a = np.array([[5,7,6,4,3],[8,7,6,14,5],[5,7,8,6,9]], dtype=int)
np.sum(a, axis=0)
array([18, 21, 20, 24, 17])