Mehrere if-Anweisungen in einer lambda-Funktion
Ich versuche, mit 3 if-Anweisungen in python lambda-Funktion. Hier ist mein code:
y=lambda symbol: 'X' if symbol==True 'O' if symbol==False else ' '
War ich in der Lage zu bekommen, können zwei if-Anweisungen funktionieren z.B.
x=lambda cake: "Yum" if cake=="chocolate" else "Yuck"
Im wesentlichen möchte ich eine lambda-Funktion zu verwenden, wenn Aussagen zu return 'X', wenn das symbol ist Wahr, 'A', wenn es falsch ist, und "sonst". Ich bin mir auch nicht sicher, ob dies überhaupt möglich ist, aber ich habe nicht in der Lage finden Sie alle Informationen über das internet, also ich würde wirklich zu schätzen jede Hilfe 🙂
- Wenn das symbol ist ein boolean kann nur zwei Werte haben. Was könnte je Reise der letzten
else
? - fast alles, was nicht ein boolean.
- Die Idee ist also, dass
symbol
könnte von jeder Art? - ist richtig, ich habe eine Liste, die enthält True, False oder None. Ich möchte meinen code zu konvertieren Keiner '", so Keiner Reise in diesem else-Anweisung. Ich kann verstehen, warum Sie möglicherweise haben herausgefunden, dass dies verwirrend, weil es scheint, wie symbol ist ein boolescher Wert, ohne Zusammenhang aus dem rest von meinem code.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihnen fehlt ein
else
vor'O'
. Diese funktioniert:Aber ich denke, man sollte stick, um Adam Smiths Ansatz. Ich finde das einfacher zu Lesen.
Können Sie eine anonyme dict innerhalb Ihres anonymen Funktion um dies zu prüfen, verwenden Sie den Standardwert von
dict.get
symbolisieren Ihre Letzte "else"True
und der WertFalse
eher als Test für Truthyness oder Falsyness. Ich werde Bearbeiten