partial sums problem
Terry Reedy
tjreedy at udel.edu
Wed Sep 29 03:12:48 CEST 2010
On 9/28/2010 6:57 PM, kj wrote:
>
>
> The following attempt to get a list of partial sums fails:
>
>>>> s = 0
>>>> [((s += t) and s) for t in range(1, 10)]
> File "<stdin>", line 1
> [((s += t) and s) for t in range(1, 10)]
> ^
> SyntaxError: invalid syntax
>
> What's the best way to get a list of partial sums?
Do not try to do a reduction with a comprehension. Just write clear,
straightforward code that obviously works.
s=[1,2,3,4,5,6]
def cusum(s):
t = 0
for i in s:
t += i
yield t
print(list(cusum(s)))
>>>
[1, 3, 6, 10, 15, 21]
--
Terry Jan Reedy
More information about the Python-list
mailing list