English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Artikel werden Sie anonyme Funktionen, auch als Lambda-Funktionen bezeichnet, kennenlernen. Durch Beispiele werden Sie verstehen, was sie sind, ihre Syntax und wie man sie verwendet.
In Python sind anonyme Funktionen ohne definierten Namen.Funktion.
Während 'def' in Python als Schlüsselwort zur Definition von normalen Funktionen verwendet wird, wird 'lambda' als Schlüsselwort zur Definition von anonymen Funktionen verwendet.
Daher werden anonyme Funktionen auch als Lambda-Funktionen bezeichnet.
Die Syntax von lambda-Funktionen in Python hat die folgenden Merkmale.
lambda argumente: ausdruck
Lambda-Funktionen können eine beliebige Anzahl von Parametern haben, aber nur einen Ausdruck. Der Ausdruck wird ausgewertet und zurückgegeben. Lambda-Funktionen können überall verwendet werden, wo ein Funktionsobjekt benötigt wird.
Dies ist ein Beispiel für eine Lambda-Funktion, die den Eingabewert verdoppelt.
# Das Programm zeigt die Verwendung der Lambda-Funktion double = lambda x: x * 2 print(double(5))
Ausgabefolge
10
Im obigen Programm lambda x: x * 2ist eine Lambda-Funktion. Hier ist x der Parameter, x * 2ist ein Ausdruck, der ausgewertet und zurückgegeben wird.
Diese Funktion hat keinen Namen. Sie gibt einen Funktionsobjekt zurück, das dem Bezeichner double zugewiesen wird. Jetzt können wir es als normale Funktion nennen. Hier ist die Deklaration
double = lambda x: x * 2
Äquivalent zu:
def double(x): return x * 2
Wenn wir temporär anonyme Funktionen benötigen, verwenden wir Lambda-Funktionen.
In Python verwenden wir sie normalerweise als Parameter für höhere Funktionen (Funktionen, die andere Funktionen alsargumente)。Lambda-Funktionen können mit filter(), map() und anderen eingebauten Funktionen verwendet werden.
Die filter()-Funktion in Python akzeptiert eine Funktion und eine Liste als Parameter.
Rufen Sie die Funktion mit allen Elementen der Liste auf und geben Sie eine neue Liste zurück, die die von der Funktion für die Elemente zurückgegebenen, die True ergeben.
Dies ist ein Beispiel, wie die filter()-Funktion nur gerade Zahlen aus der Liste filtert.
# Filtert die ungeraden Elemente der Liste aus dem Programm heraus my_list = [1, 5, 4, 6, 8, 11, 3, 12] new_list = list(filter(lambda x: (x%2 == 0) , my_list)) print(new_list)
Ausgabefolge
[4, 6, 8, 12]
Die map()-Funktion in Python akzeptiert eine Funktion und eine Liste.
Rufen Sie die Funktion mit allen Elementen der Liste auf und geben Sie eine neue Liste zurück, die die von der Funktion für jedes Element zurückgegebenen Elemente enthält.
Dies ist ein Beispiel, wie die Funktion map() alle Elemente der Liste verdoppelt.
# Verwenden Sie map(), um jedes Element der Liste zu verdoppeln my_list = [1, 5, 4, 6, 8, 11, 3, 12] new_list = list(map(lambda x: x * 2 , my_list)) print(new_list)
Ausgabefolge
[2, 10, 8, 12, 16, 22, 6, 24]