So verwenden Sie Lambda -Funktionen in Python

So verwenden Sie Lambda -Funktionen in Python
In diesem Artikel wird erläutert, wie man Lambda -Funktionen in Python verwendet. Lambda-Funktionen können verwendet werden, um präzise Einzeiler zu schreiben, Logik zu implementieren und schnell Rückgaberwerte zu erhalten, die an andere Ausdrücke zugeführt werden können.

Über Lambda -Funktionen

Lambda -Funktionen in Python sind unbenannt und anonyme Funktionen, mit denen Ausdrücke erstellt werden können, die einen Wert zurückgeben, der auf den im Ausdruck selbst implementierten Berechnungen basiert. Die Logik in diesen Lambda -Funktionen kann auf präzise Weise geschrieben werden, normalerweise etwas, das leicht in eine Zeile passt. Manchmal können sie schwer zu lesen sein, insbesondere wenn Menschen mit Lambda -Funktionen nicht gut vertraut sind. Sie haben jedoch den Vorteil, dass sie die Dinge in Codeblöcken zusammenhalten, und sie helfen jedoch, den Kontext besser zu verstehen.

Syntax von Lambda -Funktionen

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

multiplizieren = lambda x, y: x * y

Der erste Teil des Lambda -Ausdrucks kurz vor Colon (:) Symbol nimmt Parameter als Argumente an. Der zweite Teil muss nach dem Dickdarmsymbol 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 angegebene Argumente zu implementieren und dann das Endergebnis zurückzugeben.

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

drucken (multiplizieren (3, 4))

Sie sollten die folgende Ausgabe erhalten:

12

Die gleiche Lambda -Funktion würde sonst auf folgende Weise geschrieben werden:

Def multiplizieren (x, y):
Rückgabe x * y
drucken (multiplizieren (3, 4))

Beide Codeproben ergeben die gleiche Ausgabe. Einige weitere Beispiele für Lambda -Funktionen werden unten erläutert.

Übergeben Sie Lambda -Funktionen als Argumente

Sie können Lambda -Funktionen verwenden, um Berechnungen durchzuführen und den Rückgabewert als Argumente an andere Funktionen zu liefern. Sortieren Sie die Methode in Python ein "Schlüssel" -Argument, bei dem Sie eine aufrufbare Funktion angeben können, die ein einzelnes Argument für Sortierzwecke nimmt. Anstatt zuerst eine separate Funktion zu definieren, die einen Schlüssel zurückgibt und dann den Verweis der Funktion auf das Argument liefert, können Sie einfach eine Lambda -Funktion verwenden.

fruits = [(2, 'apples'), (4, 'orangen'), (3, 'bananas')]
Früchte.sort (key = lambda element: element [0])
drucken (Früchte)

Der obige Code erzeugt die folgende Ausgabe:

[(2, 'apples'), (3, 'bananas'), (4, 'Orangen')]]

Sie können Lambda in einer solchen Methode verwenden, die eine Callable -Funktion als Argument annimmt (beispielsweise Filtermethode).

Verwenden Sie Lambda -Funktionen in List -Verständnissen

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

get_square = lambda a: a * a
squares = [get_square (x) für x in Bereich (5)]
Druck (Quadrate)

Dies erzeugt die folgende Ausgabe:

[0, 1, 4, 9, 16]

Das obige Code -Beispiel kann auch auf folgende Weise geschrieben werden, wenn „X“ als Argument an die Lambda -Funktion geliefert wird:

Quadrate = [(Lambda x: x * x) (x) für x in Bereich (5)]
Druck (Quadrate)

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

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

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

Das folgende Code-Beispiel zeigt Lambda-Funktionen, die in Schlüsselwertpaaren in einem Python-Wörterbuch verwendet werden. Einmal definiert, können Sie diese Funktionen jederzeit aufrufen.

calculate = 'sum': lambda a, b: a + b, 'differenz': lambda a, b: a - b
print (berechnen ['sum'] (4, 5))
print (berechnen ['Differenz'] (4, 5))

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

9
-1

Abschluss

Lambda -Funktionen bieten eine hervorragende Möglichkeit, Kurzausdrücke zu schreiben und die Dinge ordentlich und organisiert zu halten, ohne unnötig viele benannte Funktionen zu erstellen. Überbeanspruchung von Lambda -Funktionen kann jedoch das Lesen von Code erschweren, insbesondere wenn Code von mehr als einer Person betrachtet wird. Es ist besser, mehr lesbarer Code zu haben (auch wenn er ausführlich ist), als etwas zu haben, das bei Wiederholungen etwas schwer zu verstehen ist.