两个不同长度数组的和

2024-04-26 04:41:10 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,我有两个数组

arraya[1,1,1,1,1,1,1]
arrayb[0,1,2]

我想把arrayb连续添加到arraya中,如下所示:

arraysum[1,2,3,1,2,3,1]

我该怎么做?你知道吗


Tags: 数组arrayaarraybarraysum
3条回答
arraya = [1,1,1,1,1,1,1]
arrayb = [0,1,2]
arraysum = []

i=0

while i in range(len(arraya)):
  arraysum.append(arraya[i] + arrayb[i % len(arrayb)])
  i+=1

print (arraysum)

您可以将zip与cycle结合使用:

if arrayb:
    arraysum = [sum(x) for x in zip(cycle(arrayb), arraya)]
else:
    arraysum = arraya
arraya = [1,1,1,1,1,1,1]
arrayb = [0,1,2]

for i in range(len(arraya)):
    arraya[i] += arrayb[i % len(arrayb)]

print arraya

产生 [1, 2, 3, 1, 2, 3, 1]

相关问题 更多 >