Python

So verwenden Sie Lambda-Funktionen in Python

So verwenden Sie Lambda-Funktionen in Python
In diesem Artikel wird erklärt, wie Sie Lambda-Funktionen in Python verwenden. Lambda-Funktionen können verwendet werden, um prägnante Einzeiler zu schreiben, Logik zu implementieren und schnell Rückgabewerte zu erhalten, die anderen Ausdrücken zugeführt werden können.

Über Lambda-Funktionen

Lambda-Funktionen in Python sind unbenannte und anonyme Funktionen, die verwendet werden können, um Ausdrücke zu erstellen, die einen Wert basierend auf den im Ausdruck selbst implementierten Berechnungen zurückgeben. Die Logik in diesen Lambda-Funktionen kann kurz und bündig geschrieben werden, normalerweise etwas, das leicht in eine Zeile passt. Manchmal können sie schwer zu lesen sein, besonders wenn die Leute nicht gut mit Lambda-Funktionen vertraut sind. Sie haben jedoch den Vorteil, dass sie die Dinge innerhalb von Codeblöcken zusammenhalten und helfen, den Kontext besser zu verstehen.

Syntax von Lambda-Funktionen

Die Syntax einer Lambda-Funktion in Python sieht so aus:

multiplizieren = Lambda x, y: x * y

Der erste Teil des Lambda-Ausdrucks direkt vor dem Doppelpunkt (:) nimmt Parameter als Argumente an as. Der zweite Teil nach dem Doppelpunkt muss ein Rückgabewert sein. Dieser Rückgabewert kann auch ein Ausdruck mit Logik sein. Tatsächlich werden Lambda-Funktionen fast immer verwendet, um eine Logik für die bereitgestellten Argumente zu implementieren und dann das Endergebnis zurückzugeben.

Um die oben genannte Lambda-Funktion zu testen, können Sie die folgende Anweisung verwenden:

drucken (multiplizieren (3, 4))

Sie sollten die folgende Ausgabe erhalten:

12

Dieselbe Lambda-Funktion würde sonst wie folgt geschrieben:

def multiplizieren (x, y):
zurück x * y
drucken (multiplizieren (3, 4))

Beide Codebeispiele liefern die gleiche Ausgabe. Einige weitere Beispiele für Lambda-Funktionen werden unten erklärt.

Übergeben Sie Lambda-Funktionen als Argumente

Sie können Lambda-Funktionen verwenden, um Berechnungen durchzuführen und den Rückgabewert als Argumente für andere Funktionen bereitzustellen. Die Sort-Methode in Python verwendet ein „Schlüssel“-Argument, mit dem Sie eine aufrufbare Funktion angeben können, die ein einzelnes Argument für Sortierzwecke verwendet. Anstatt zuerst eine separate Funktion zu definieren, die einen Schlüssel zurückgibt, und dann die Referenz der Funktion auf das Argument bereitzustellen, können Sie einfach eine Lambda-Funktion verwenden.

Früchte = [(2, 'Äpfel'), (4, 'Orangen'), (3, 'Bananen')]
Früchte.sort(key=lambda-element: element[0])
drucken (Früchte)

Der obige Code erzeugt die folgende Ausgabe:

[(2, 'Äpfel'), (3, 'Bananen'), (4, 'Orangen')]

Sie können Lambda in jeder solchen Methode verwenden, die eine aufrufbare Funktion als Argument verwendet (z. B. Filtermethode).

Verwenden von Lambda-Funktionen in Listenverständnissen

Sie können Lambda in Listenverständnissen verwenden und eine Liste wird ordnungsgemäß aus den vom Lambda-Ausdruck zurückgegebenen Werten erstellt.

get_square = Lambda a: a * a
quadrate = [get_square(x) für x im Bereich(5)]
drucken (Quadrate)

Dies erzeugt die folgende Ausgabe:

[0, 1, 4, 9, 16]

Das obige Codebeispiel kann auch wie folgt geschrieben werden, wobei „x“ als Argument an die Lambda-Funktion übergeben wird:

Quadrate = [(Lambda x: x * x)(x) für x im Bereich(5)]
drucken (Quadrate)

Dieses Beispiel veranschaulicht nur die Verwendung von Lambda-Funktionen in Listenverständnissen. Sie können Quadrate ansonsten einfach mit einer minimalen Listenverständnisanweisung berechnen:

print ([x * x für x im Bereich(5)])

Verwenden von Lambda-Funktionen in Python-Wörterbüchern

Das folgende Codebeispiel veranschaulicht Lambda-Funktionen, die in Schlüssel-Wert-Paaren in einem Python-Wörterbuch verwendet werden. Einmal definiert, können Sie diese Funktionen jederzeit aufrufen.

berechnen = 'Summe': Lambda a, b: a + b, 'Differenz': Lambda a, b: a - b
print (berechnen['sum'](4, 5))
drucken (berechnen['Differenz'](4, 5))

Sie sollten die folgende Ausgabe erhalten, nachdem Sie den obigen Code ausgeführt haben:

9
-1

Fazit

Lambda-Funktionen bieten eine hervorragende Möglichkeit, Kurzformausdrücke zu schreiben und die Dinge ordentlich und organisiert zu halten, ohne unnötig viele benannte Funktionen zu erstellen. Die übermäßige Verwendung von Lambda-Funktionen kann jedoch das Lesen von Code erschweren, insbesondere wenn der Code von mehr als einer Person betrachtet wird. Es ist besser, lesbareren Code zu haben (auch wenn er ausführlich ist) als etwas zu haben, das bei erneuten Besuchen möglicherweise etwas schwer zu verstehen ist.

Beste Spielkonsolen-Emulatoren für Linux
Dieser Artikel listet beliebte Spielekonsolen-Emulationssoftware auf, die für Linux verfügbar ist. Emulation ist eine Softwarekompatibilitätsschicht, ...
Beste Linux-Distributionen für Gaming im Jahr 2021
Das Linux-Betriebssystem hat sich weit von seinem ursprünglichen, einfachen, serverbasierten Aussehen entfernt. Dieses Betriebssystem hat sich in den ...
So erfassen und streamen Sie Ihre Gaming-Sitzung unter Linux
In der Vergangenheit galt das Spielen von Spielen nur als Hobby, aber mit der Zeit verzeichnete die Spieleindustrie ein enormes Wachstum in Bezug auf ...