我有一个Python数组,我想编写一个表达式,返回一个包含所有先前数字之和的数组。 例如,我们有:
arr1 = [1,2,3,4]
我的功能应该返回:
[1, 3, 6, 10]
我知道可以用简单的循环甚至递归来制作它,但是有可能在一行中制作吗? 类似的东西:
def converter(arr):
arr1 = [x + y for x,y in arr ]
return arr1
答案 0 :(得分:1)
从Python 3.2开始,您可以使用itertools.accumulate
:
>>> from itertools import accumulate
>>> arr = [1,2,3,4]
>>> list(accumulate(arr))
[1, 3, 6, 10]