possible duplicate: list comprehension running total i'm trying write concise list comprehension statement create cdf: example: print f([0.2, 0.3,0.1,0.4]) [0.2,0.5,0.6,1.0] a standard procedure (i want write list comprehension function f()): def f(probabilities) : sum = 0 returnlist = [] count in probabilities: sum +=count returnlist = returnlist + [sum] return returnlist edit: found function numpy.cumsum(). i'll check if uses list comprehensions. that operation common many languages (mainly functional ones, not only) provide abstractions it, name scanl (it's reduce intermediate results). let's call ireduce ("iterative reduce"): def ireduce(f, state, it): x in it: state = f(state, x) yield state and use it: import operator def f(probabilities): return ireduce(operator.add, 0, probabilities) print(list(f([0.2, 0.3,0.1,0.4]))) # [0.2, 0.5, 0.6, 1.0]