[PYTHON] Ich stieß auf einen Lambda-Ausdruck, als ich mir Sorgen um die Funktionalisierung machte

1️⃣ Übersicht

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:

2️⃣ Über Lambda

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 ...)

3️⃣ Was ist praktische Lambda-Codierung?

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:

Zusammenfassung

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

Ich stieß auf einen Lambda-Ausdruck, als ich mir Sorgen um die Funktionalisierung machte
Worüber ich mir Sorgen gemacht habe, als ich Bilder mit matplotlib angezeigt habe
Wo ich mir Sorgen um Heroku machte
Pythons Lambda-Ausdruck ...
Dinge, die Sie bei der Implementierung von Airflow mit Docker-Compose beachten sollten
Eine Geschichte, die ich süchtig danach war, Lambda von AWS Lambda anzurufen.
Eine Geschichte, die ich behoben habe, als ich das Lambda-Protokoll von Cloudwatch Logs erhalten habe
Ich bin auf einen Bildfilter mit einem eindeutig japanischen Namen namens Kuwahara-Filter gestoßen, und als ich ihn ausprobierte, war er erstaunlich, also werde ich ihn vorstellen.
Ein Hinweis, von dem ich süchtig war, als ich unter Linux einen Piepton machte
Ein Hinweis, dem ich beim Erstellen einer Tabelle mit SQL Alchemy verfallen war
Ich habe eine Frage zu Leerzeichen
Als ich in IPython versuchte, den Wert zu sehen, war es ein Generator, also kam ich auf ihn, als ich frustriert war.