Python 如何编写将数组中的元素与下一个元素相乘并以数组形式输出的程序
我有一个带有Python 如何编写将数组中的元素与下一个元素相乘并以数组形式输出的程序,python,arrays,Python,Arrays,我有一个带有n元素的数组,我想得到一个新数组(newArr),它是通过将它乘以下一个元素得到的,即 arr = [1,2,3,5,7,11,17,23,...] newArr = [2,6,15,35,77,187,...] i、 e 我试过: def prime_num(n): a = [] for num in range(2,n): for i in range(2,num): if(num%i==0): break els
n
元素的数组,我想得到一个新数组(newArr
),它是通过将它乘以下一个元素得到的,即
arr = [1,2,3,5,7,11,17,23,...]
newArr = [2,6,15,35,77,187,...]
i、 e
我试过:
def prime_num(n):
a = []
for num in range(2,n):
for i in range(2,num):
if(num%i==0):
break
else:
print(num)
a.append(num)
#print(a)
return(a[i]*a[i+1])
我希望
a
是一个类似于上面所示的newArr
的数组,但它只打印一个总乘法数。如何获取newArr
?您可以通过以下方式使用zip
:
arr = [1,2,3,5,7,11,17,23]
newarr = [x*y for x, y in zip(arr, arr[1:])]
# [2, 6, 15, 35, 77, 187, 391]
arr = [1,2,3,5,7,11,17,23]
newarr = [x*y for x, y in zip(arr, arr[1:])]
# [2, 6, 15, 35, 77, 187, 391]