1. 程式人生 > >Python之list對應元素求和,ndarray對應元素求和

Python之list對應元素求和,ndarray對應元素求和

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]