functional programming - Python list comprehension -


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] 

Comments

Popular posts from this blog

java - SNMP4J General Variable Binding Error -

windows - Python Service Installation - "Could not find PythonClass entry" -

Determine if a XmlNode is empty or null in C#? -