#import numpy methods
from numpy import *
#initialize two array
arr1 = array([2, 6, 8, 1, 3])
arr2 = array([1, 6, 2, 1, 5])
#declare an empty array
arr3=([])
#find length of first array
n=len(arr1)
#traverse using for loop
for i in range(0,n):
#append sum of both array in final array
arr3.append(arr1[i]+arr2[i])
#print final array
print(arr3)
6条答案
按热度按时间vyswwuz21#
from package import *
通常不是个好主意,因为你可以覆盖你命名空间中的其他包。Numpy有一个内置的解决方案,可以将两个数组加在一起: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循环,你可以这样做:
[60, 26, 16, 300, 90] # 2.71 µs ± 307 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
所有这些都假设您希望在到达最短列表的末尾时停止。4ngedf3f2#
如果数组的长度不等,首先需要对齐长度相同的部分,执行运算(例如加法),然后连接较长数组的剩余部分(可能应用其他运算,但本例中没有)。
whitzsjs3#
只需将最大的数组复制到新数组中,并将新数组的每个索引替换为两个数组各自索引的和,这样就可以避免索引越界和将较大数组的数组复制到新数组中。
kpbpu0084#
s8vozzvw5#
vqlkdk9b6#
为此,我们需要首先导入numpy包,只有当两个数组长度相同时才使用此选项。