如何使用函数方法将数字列表转换为python中当前元素的数字总和列表?

时间:2015-11-07 10:01:10

标签: python functional-programming

为了澄清,我的原始列表包含两个连续值之间的差异,从零开始。我想使用函数样式将此列表转换为实际值列表,而不必在计算期间保持全局状态,不使用for循环,使用map,reduce等。

my_list = [0, 1, 0, 3, 2, 0, 0, 2, 1]
result = my_function(my_list)

print(result)

[0, 1, 1, 4, 6, 6, 6, 8, 9]

2 个答案:

答案 0 :(得分:4)

只需使用itertools.accumulate

答案 1 :(得分:3)

def my_function(lst):
    return [sum(lst[:i]) for i in range(len(lst))]