W python 2.6, chcę zrobić:Czy istnieje sposób, aby wykonać "jeśli" w lambda Pythona
f = lambda x: if x==2 print x else raise Exception()
f(2) #should print "2"
f(3) #should throw an exception
To wyraźnie nie jest składnia. Czy jest możliwe wykonanie if
w lambda
, a jeśli tak, to jak to zrobić?
dzięki
Nie możesz wydrukuj lub podnieś w lambda. Lambda to tylko funkcje, możesz zamiast tego używać zamiast tego funkcji. –
Nie zgadzam się z tobą. Potrzebuję 4 różnych, bardzo krótkich funkcji, takich jak powyższa, które należy umieścić na liście/słowniku, aby móc je sprawdzać i wybierać te, które będą używane w każdej iteracji. Zamiast wielu linii kodu tylko inicjały, przed samą iteracją mogę sprowadzić ją do zaledwie 4 linii kodu init. Im mniej tym lepiej ... – Guy
4 linie kodu nie są godnym pochwały rozwiązaniem, gdy inne osoby muszą czytać, interpretować, rozumieć i utrzymywać kod.Co więcej, problem "wydrukuj/podnieś" w przykładzie pokazuje to, czego nie można i nie powinno się robić w lambdach. –