我正在编写一个给定数组的函数:
arrayA = [2,3,1]函数需要返回一个新数组,其中:
newArray = [2,5,6]这几乎就像斐波纳契函数。
newArray[0] = arrayA[0]
newArray[1] = arrayA[0] + arrayA[1]
newArray[2] = arrayA[1] + arrayA[2] + arrayA[3]到目前为止,这是我的代码,但总是以空列表结束。arrayA作为参数传入。
def generateNewArray(A):
A=[]
newArray=[]
for i in range(len(A)):
newArray[i]=A[i]+A(i+1)
return newArray发布于 2016-05-21 03:40:49
print [sum(A[:i]) for i in range(1,len(A)+1)]我猜..。我想实际上在某个地方有一个累加和 ..。也可能是在“裸体”
numpy.cumsum(A)发布于 2016-05-21 05:35:25
您还可以使用函数式编程模式:
试试这个:
def generateNewArray(inputArray):
return map(lambda x: sum(inputArray[:x]), xrange(1, len(inputArray) + 1))例如:
In [7]: generateNewArray([2, 3, 1])
Out[7]: [2, 5, 6]https://stackoverflow.com/questions/37358581
复制相似问题