
Untitled
By: a guest on
Apr 29th, 2012 | syntax:
None | size: 0.98 KB | hits: 10 | expires: Never
Elegant pythonic cumsum
>>> import numpy as np
>>> np.cumsum([1,2,3,4,5])
array([ 1, 3, 6, 10, 15])
def cumsum(it):
total = 0
for x in it:
total += x
yield total
>>> list(cumsum([1,2,3,4,5]))
>>> [1, 3, 6, 10, 15]
a=[1,2,3,4,5]
def cumsum(a):
a=iter(a)
cc=[next(a)]
for i in a:
cc.append(cc[-1]+i)
return cc
print cumsum(a)
"[1, 3, 6, 10, 15]"
a=[1,2,3,4,5]
def cumsum(a):
for i in range(1,len(a)):
a[i]+=a[i-1]
cumsum(a)
print a
"[1, 3, 6, 10, 15]"
a = [1, 2, 3 ,4, 5]
# Using list comprehention
cumsum = [sum(a[:i+1]) for i in range(len(a))] # [1, 3, 6, 10, 15]
# Using map()
cumsum = map(lambda i: sum(a[:i+1]), range(len(a))) # [1, 3, 6, 10, 15]
def cumsum(vec):
r = [vec[0]]
for val in vec[1:]:
r.append(r[-1] + val)
return r
a=[1,2,3,4,5]
def cumsum(a):
b=a[:]
for i in range(1,len(a)):
b[i]+=b[i-1]
return b
print cumsum(a)
"[1, 3, 6, 10, 15]"