[Python-de] Funktionale Denksportaufgabe

Martin v. Loewis martin at v.loewis.de
Thu Sep 26 15:06:35 EDT 2002


Dinu Gherman <gherman at darwin.in-berlin.de> writes:

> Just das habe ich mich auch gefragt! ;-) Erst dachte ich an:
> 
>    def filter1(func, seq):
>        (func == None) and eval("return seq")
>        return [x for x in seq if func(x)]
> 
> aber eval (und exec) tun's nicht so recht zusammen mit return, jeden-
> falls nicht einfach so! Aber falls es irgendwie ginge, koennte man es
> *wirklich* **rein** funktional in diese Form bringen, wobei ??? eine
> noch unbestimmte Funktion ist:

Wie wär's mit

    def filter1(func, seq):
        return [func==None or [x for x in seq if func(x)], seq][func==None]

Ciao,
Martin




More information about the Python-de mailing list