Python lambda (anonyme Funktion)
Python verwendetlambda, um anonyme Funktionen zu erstellen.
Die Lambda-Funktion ist eine kleine, anonyme Inline-Funktion, die beliebig viele Parameter haben kann, aber nur einen Ausdruck haben darf.
Anonyme Funktionen müssen nicht das Schlüsselwortdefverwenden, um eine vollständige Funktion zu definieren.
Lambda-Funktionen werden normalerweise verwendet, um einfache, einzeilige Funktionen zu schreiben, oft verwendet, wenn eine Funktion als Parameter übergeben werden muss, z. B. in Funktionen wie map(), filter(), reduce(), usw.
Merkmale von Lambda-Funktionen:
- Die Lambda-Funktion ist anonym; sie hat keinen Funktionsnamen und kann nur verwendet werden, indem man sie einer Variablen zuweist oder sie als Parameter an andere Funktionen übergibt.
- Eine Lambda-Funktion enthält normalerweise nur eine Codezeile, was sie zum Schreiben einfacher Funktionen geeignet macht.
Lambda-Syntaxformat:
lambda arguments: expression
lambdaist ein Python-Schlüsselwort, das zum Definieren von Lambda-Funktionen verwendet wird.argumentsist die Parameterliste, die null oder mehr Parameter enthalten kann, aber vor dem Doppelpunkt (:) zuvor angegeben.expressionist ein Ausdruck, der verwendet wird, um das Ergebnis der Funktion zu berechnen und zurückzugeben.
Die folgende Lambda-Funktion hat keine Parameter:
Beispiel
Das Ausgabeergebnis ist:
Hello, world!
Das folgende Beispiel verwendet lambda, um eine anonyme Funktion zu erstellen, setzt einen Funktionsparameter a, die Funktion berechnet Parameter a plus 10 und gibt das Ergebnis zurück:
Beispiel
Das Ausgabeergebnis ist:
15
Eine lambda-Funktion kann auch mehrere Parameter haben, wobei die Parameter durch Kommas getrennt werden,getrennt:
Das folgende Beispiel verwendet lambda, um eine anonyme Funktion zu erstellen, die Funktionsparameter a und b werden multipliziert und das Ergebnis wird zurückgegeben:
Beispiel
Das Ausgabeergebnis ist:
30
Das folgende Beispiel verwendet lambda, um eine anonyme Funktion zu erstellen, die Funktionsparameter a, b und c werden addiert und das Ergebnis wird zurückgegeben:
Beispiel
Das Ausgabeergebnis ist:
13
lambda-Funktionen werden normalerweise zusammen mit eingebauten Funktionen wie map(), filter() und reduce() verwendet, um Operationen auf Sammlungen auszuführen. Zum Beispiel:
Beispiel
Das Ausgabeergebnis ist:
[1, 4, 9, 16, 25]
Verwenden Sie eine lambda-Funktion mit filter(), um gerade Zahlen zu filtern:
Beispiel
Das Ausgabeergebnis ist:
[2, 4, 6, 8]
Das folgende Beispiel zeigt, wie man reduce() und einen Lambda-Ausdruck verwendet, um das kumulative Produkt einer Sequenz zu berechnen:
Beispiel
Das Ausgabeergebnis ist:
120
Im obigen Beispiel iteriert die Funktion reduce() über die Liste numbers und verwendet die Lambda-Funktion, um das kumulative Ergebnis kontinuierlich zu aktualisieren, und erhält schließlich1 * 2 * 3 * 4 * 5 = 120das Ergebnis von.
Weitere Erweiterungen