Ich habe mich oft gefragt: "Sollte der Code, den ich jetzt schreibe, eine Funktion sein oder sollte ich ihn direkt in der Hauptsache schreiben: Denken:", aber damals bin ich auf einen Lambda-Ausdruck gestoßen, und das war es Es ist sehr einfach zu handhaben und ich konnte es kompakt zusammenstellen, als ich den gesamten Code durchgesehen habe. Deshalb schreibe ich einen Artikel mit einem Memorandum. : writing_hand:
Ich möchte den Lambda-Ausdruck mit Code erklären. Auch dieses Mal werde ich mich mit Addition als einfachem Beispiel befassen, aber ich möchte im nächsten Abschnitt erklären, wie man praktischen Code schreibt.
python
def hoge(num1: int, num2: int):
num = num1 + num2
return num
Auf diese Weise muss selbst eine Funktion, die eine einfache Addition ausführt, am Ende `` `return``` hinzufügen. Wenn Sie die obige Funktion ausführen,
python
print(hoge(2, 6))
# 8
Ich denke, dass es durch Einfügen einer `print-Anweisung
`bestätigt wird, um zu bestätigen, ob die Funktion korrekt verarbeitet wird.
Wenn Sie jedoch keine komplizierte Verarbeitung durchgeführt haben, um daraus eine Funktion zu machen, oder wenn Sie diese Funktion nicht anderweitig verwenden möchten, möchten Sie sie möglicherweise etwas kompakter schreiben.
In einem solchen Fall können Sie den Lambda-Ausdruck verwenden!
Die obige Addition wird durch den Lambda-Ausdruck wie folgt beschrieben.
python
print((lambda num1, num2:num1 + num2)(2, 6))
# 8
Erläuterung des Lambda-Ausdrucks: (Lambda-Argumentname: Argumentverarbeitung) (für die Berechnung erforderlicher Wert) Mit einer solchen Beschreibung war es sehr einfach zu lesen und ich konnte sie kompakt codieren: erröten: Es ist auch möglich, einen Lambda-Ausdruck mit Argumenten zu erstellen, indem Sie ihn einer Variablen zuweisen.
python
hoge = lambda num1, num2:num1 + num2
print(hoge(2, 6))
# 8
Auch persönlich ist es cool, im Lambda-Stil codieren zu können: smile: (Es sieht aus wie jemand, der es kann ...)
Wenn Sie die Erklärung des obigen Elements beibehalten, scheint es, dass es "Es ändert sich nicht viel, selbst wenn Sie es mit einer Funktion schreiben !: Grimassieren:" lautet. Daher möchte ich darüber nachdenken, wie der wahre Wert des Lambda-Ausdrucks hier demonstriert werden kann. Ich werde!
Zum Beispiel ...
python
hoge_list = [3, -5, 10, 6, -2, -1]
Wenn Sie die Werte in aufsteigender Reihenfolge sortieren möchten, wobei die negativen Werte aus dieser Liste entfernt werden, verwenden Sie den Lambda-Ausdruck ...
python
print(sorted(filter(lambda num_plus: num_plus >= 0, hoge_list)))
# [3, 6, 10]
Mit dem Gefühl, dass die erste sortierte Funktion den Prozess des Anordnens in aufsteigender Reihenfolge ausführt, beschreibt die Filterfunktion die Bedingungen wie eine if-Anweisung, so dass es sehr einfach ist Kann beschrieben werden in! : tada:
`sortierte Funktion
`kann in absteigender Reihenfolge angeordnet werden, aber dieses Mal werde ich es weglassen: bow_tone1:
Da es bis zum Ende des Elements verarbeitet wird, muss keine for-Anweisung geschrieben werden, sodass es kompakt und leicht zu sehen ist!Durch die Verwendung des Lambda-Ausdrucks kann der Code kompakt und einfach zu lesen ausgedrückt werden, da es nicht erforderlich ist, die for-Anweisung und die if-Anweisung zu schreiben, und er scheint auch dann nützlich zu sein, wenn Sie zögern, ihn zu einer Funktion zu machen. Ich würde es gerne mehr und mehr verwenden, wenn ich auf eine Situation stoße, in der ich den Lambda-Ausdruck verwenden kann! : Muskel:
Recommended Posts