[Python-de] Funktionale Denksportaufgabe

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


René Liebscher:

> Ich frage mich gerade, ob man nicht auch noch die Abfrage func==None
> irgendwie
> in das if reinbekommt (mit and oder or)???

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:

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

Die zwei Zeilen koennte man sogar or-verknuepfen... Funktionaler
ging's nimmer!

Dinu

--
Dinu C. Gherman
......................................................................
"It is only in folk tales, children's stories, and the journals of in-
tellectual opinion that power is used wisely and well to destroy evil.
The real world teaches very different lessons, and it takes wilful and
dedicated ignorance to fail to perceive them. (Noam Chomsky)





More information about the Python-de mailing list