Python之list對應元素求和,ndarray對應元素求和
阿新 • • 發佈:2018-12-28
Python中對多個list的對應元素求和,前提是每個list的長度一樣。比如:a=[1,2,3], b=[2,3,4], c=[3,4,5], 對a,b,c的對應元素求和,輸出應為[6,9,12].
方法一:
直接求解,按照對應元素相加的原則,可先定義一個函式。
def list_add(a,b): c = [] for i in range(len(a)): c.append(a[i]+b[i]) return c if __name__ == '__main__': a = [1,2,3] b = [2,3,4] c = [3,4,5] print(list_add(list_add(a,b),c))
方法二:
利用numpy模組求解。
import numpy as np
a = np.array([1,2,3])
b = np.array([2,3,4])
c = np.array([3,4,5])
print(a+b+c)
需要注意的是,a+b+c後的型別為numpy.ndarray.
方法三:
利用numpy模組的sum()函式進行求解。
import numpy as np
a = [1,2,3]
b = [2,3,4]
c = [3,4,5]
print(np.sum([a,b,c], axis = 0))
其中的axis引數表示縱向求和。
還可以使用高階函式:
a = [1,2,3]
b = [2,3,4]
c = [3,4,5]
print(list(map(lambda x, y, z: x+y+z, a, b, c))) # [6, 9, 12]