Accumulate function in python
Peter Otten
__peter__ at web.de
Mon Jul 19 07:28:35 EDT 2010
dhruvbird wrote:
> I have a list of integers: x = [ 0, 1, 2, 1, 1, 0, 0, 2, 3 ]
> And would like to compute the cumulative sum of all the integers
> from index zero into another array. So for the array above, I should
> get: [ 0, 1, 3, 4, 5, 5, 5, 7, 10 ]
> What is the best way (or pythonic way) to get this.
Homework?
>>> def cumulative_sum(values, start=0):
... for v in values:
... start += v
... yield start
...
>>> list(cumulative_sum([ 0, 1, 2, 1, 1, 0, 0, 2, 3 ]))
[0, 1, 3, 4, 5, 5, 5, 7, 10]
Peter
More information about the Python-list
mailing list