[Python-de] Funktionale Denksportaufgabe

Dinu Gherman gherman at darwin.in-berlin.de
Thu Sep 26 11:13:18 EDT 2002


Hier eine kleine Denksportaufgabe fuer die funktionale Fraktion:
ich habe folgende rein imperative filter-Funktion:

def filter1(func, seq):
     if func == None:
         return seq
     lst = []
     for elem in seq:
         felem = func(elem)
         if felem:
             lst.append(elem)
     return lst

was man auch umformen kann zu:

def filter1(func, seq):
     if func == None:
         return seq
     lst = []
     map1(lambda elem:func(elem) and lst.append(elem), seq)
     return lst

Jetzt bin ich auf der Suche nach einem weitere Schritt, um die
"temporaere" Liste lst, die hier gewissermassen einen gewollten
"Seiten"-effekt darstellt, voellig loszuwerden.

Wer bietet eine "rein funktionale" Loesung fuer die letzten drei
Zeilen (ohne externe imperative Hilfsfunktionen) an?

Dinu

--
Dinu C. Gherman
......................................................................
"The whole point of brainwashing, is that those being brainwashed
don't know it." (Graham Haley)





More information about the Python-de mailing list