Обычно плохой идеей является from package import *
, поскольку вы можете переопределить другие пакеты в своем пространстве имен.У Numpy есть встроенное решение для добавления двух массивов:
import numpy as np
arr1 = np.array([5,10,15,20,30])
arr2 = np.array([55,16,1,280,60])
arr1+arr2
array([ 60, 26, 16, 300, 90]) # 435 ns ± 5.89 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
Хотя вам нужно, чтобы два массива имели одинаковую длину.
Есливы хотите использовать некоторые стандартные функции Python (а не цикл for), вы можете использовать map
и zip
для обработки массивов, которые не имеют одинаковую длину:
list(map(sum, zip(arr1,arr2)))
[60, 26, 16, 300, 90] # 4.45 µs ± 60.2 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
Если вы хотите использовать цикл for, вы можете сделать это:
new_list = []
for i in range(min(len(arr1), len(arr2))):
new_list.append(arr1[i]+arr2[i])
new_list
[60, 26, 16, 300, 90] # 2.71 µs ± 307 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
Все это предполагает, что вы хотите остановиться, когда достигнете конца кратчайшего списка.