In Python 2.6, was ich tun möchte auszuführen:Gibt es eine Möglichkeit "wenn" in Python Lambda
f = lambda x: if x==2 print x else raise Exception()
f(2) #should print "2"
f(3) #should throw an exception
dies eindeutig nicht die Syntax ist. Ist es möglich, eine if
in lambda
durchzuführen und wenn ja, wie?
dank
importieren Sie können nicht drucken oder erhöhen in einem Lambda. Lambdas sind nur Funktionen, Sie können stattdessen immer eine Funktion verwenden. –
Ich stimme dir nicht zu. Ich brauche 4 verschiedene, sehr kurze Funktionen wie die obige, die in eine Liste/ein Wörterbuch eingefügt werden müssen, damit ich sie über iterieren und auswählen kann, welche in jeder Iteration verwendet werden sollen. Statt vieler Codezeilen von nur wenigen Bits vor der Iteration selbst kann ich sie auf nur 4 Zeilen Init-Code reduzieren. Je weniger desto besser. – Guy
4 Zeilen Code ist keine lobenswerte Lösung, wenn andere den Code lesen, interpretieren, verstehen und pflegen müssen.Ferner zeigt das "Drucken/Anheben" -Problem in dem Beispiel dies, was nicht in Lambdas gemacht werden kann und sollte. –