[Python-de] Funktionale Denksportaufgabe

Dinu Gherman gherman at darwin.in-berlin.de
Thu Sep 26 14:40:12 EDT 2002


Dinu Gherman:

> Beides loest allerdings nicht den allgemeineneren Fall, in dem Aus-
> druecke (besonders kombiniert mit return) "funktionalisiert" werden
> sollen. Ich vermute, dazu muessten Anweisungen in Python doch einen
> Wert zurueckgeben, selbst wenn es immer 1 oder true waere...

So, jetzt bin ich da, wo ich sein wollte... sieht schon fast wie
Lisp aus... ;-)

def exec1(stmt, locals=locals(), globals=globals()):
     exec(stmt, locals, globals)
     return 1

def filter1(func, seq):
     return (
             (func == None) and exec1("res = seq", locals()) or \
             (func != None) and exec1("res = None", locals())
            ) \
            and \
                (res or [x for x in seq if func(x)])

Dinu

--
Dinu C. Gherman
......................................................................
"I tremble for my country when I reflect that God is just, that His
justice will not sleep forever." (Thomas Jefferson)





More information about the Python-de mailing list