Gibt "hoge" zurück, wenn 0 als Argument eingeht Eine Funktion, die nur den Eingabewert zurückgibt, wenn etwas anderes kommt. Ich habe auch das detaillierte Verfahren unten geschrieben.
Da ich mich oft verliere, ist es ein Memorandum.
def x(value):
if value == 0:
return "hoge"
else:
return value
Das ist
y = lambda value : "hoge" if value == 0 else value
Es wird so sein.
In Buchstaben ausgedrückt:
(Funktionsname) = lambda (Streit) : (Wert, der zurückgegeben werden soll, wenn die Bedingung True ist) if (Bedingungen) else (BedingungenがFalseなら返す値)
Wenn Sie dies auf den ersten Blick betrachten, werden Sie es nicht verstehen.
Die Lambda-Funktion ist Weil die Funktion, die Sie ändern möchten, eine einzeilige Funktion sein muss Setzen Sie zunächst die folgende if-Anweisung in eine Zeile.
#Abdruck
def x(value):
if value == 0:
return "hoge"
else:
return value
def x(value):
if value == 0
def x(value):
"hoge" if value == 0
def x(value):
"hoge" if value == 0 else value
Dies gelang es, die if-Anweisung in eine Anweisung umzuwandeln. Dann setzen Sie die Funktion in eine Zeile.
↓ 3 Dinge, die Sie nicht brauchen 1, def 2, Funktionsname → x 3, Klammern um das Argument → ()
value :
"hoge" if value == 0 else value
Wenn die Linien ausgerichtet sind
value : "hoge" if value == 0 else value
Du kannst das. Es kommt näher und näher.
Machen wir es zu einer Lambda-Funktion. Schreiben Sie am Anfang Lambda
lambda value : "hoge" if value == 0 else value
Ersatz für x. (x ist der Funktionsname)
x = lambda value : "hoge" if value == 0 else value
Dies ist abgeschlossen.
x(0)
>>> 'hoge'
x(100)
>>> 100
das ist alles.
Recommended Posts