On Jul 19, 4:28 pm, Peter Otten <__pete...@web.de> wrote: > 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?
not really :) It's just that I was wondering if a built-in function for doing such things (which I find myself doing increasingly with an explicit loop) exists. Regards, -Dhruv. > > >>> 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 -- http://mail.python.org/mailman/listinfo/python-list