<分区>
给定以下列表:
a=[1,2,3]
我想生成一个新列表,其中每个数字都是它和它之前的值的总和,如下所示:
result = [1,3,6]
逻辑:
1 没有前面的值,所以它保持不变。
3是从第一个值(1)加上列表中第二个数的值(2)
6 是前两个元素的 1 和 2 之和加上第三个值 3。
提前致谢!
<分区>
给定以下列表:
a=[1,2,3]
我想生成一个新列表,其中每个数字都是它和它之前的值的总和,如下所示:
result = [1,3,6]
逻辑:
1 没有前面的值,所以它保持不变。
3是从第一个值(1)加上列表中第二个数的值(2)
6 是前两个元素的 1 和 2 之和加上第三个值 3。
提前致谢!
最佳答案
Python 3 有 itertools.accumulate
正是为了这个目的:
>>> from itertools import accumulate
>>> a=[1,2,3]
>>> list(accumulate(a))
[1, 3, 6]
关于列表中的 Python 运行总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41391202/