Für kleine Operationen können die regulären Funktionen in Python viel Platz einnehmen und die Syntax unübersichtlich machen. Daher sind die Python Lambda Funktionen so wichtig.
Wie werden sie verwendet und warum? Finde die Antworten in diesem Artikel.
💡Auch interessant:
Python für Dummies Teil 1 |
Python programmieren lernen |
Data Cleaning Python |
PySpark – Alles wissenswerte |
Python – Vermeide diese Fehler |
Python Lambda Funktionen und anonyme Funktionen
Eine Python Lambda Funktion ist eine anonyme Funktion. Das heißt, eine Funktion, die ohne Namen deklariert wird. Ihre Syntax sieht wie folgt aus:
Lambda arguments: expression
Da es sich um eine einzeilige Syntax handelt, ist die Python Lambda Funktion viel besser lesbar. Es ist nicht nötig, in einer anderen Zeile nach dem Argument zu suchen. Obwohl sich die Syntax von regulären Funktionen, die mit dem Schlüsselwort def deklariert werden, unterscheidet, verhält sie sich auf die gleiche Weise. Sie ist nur prägnanter.
Neben ihrer Namenslosigkeit und ihrer Kürze zeichnen sich Python Lambda Funktionen dadurch aus, dass sie nur einen einzigen Ausdruck enthalten. Stattdessen können sie mehrere Argumente haben.
4 Beispiele für Lambda-Funktionen
Um dir zu helfen, den Unterschied zwischen Pythons Lambda Funktionen und regulären Funktionen besser zu verstehen, hier ein paar Beispiele:
Lambda- und Sum-Funktion
Wenn du die Summe zweier Werte berechnen willst, kann dein Code eine dieser beiden Formeln sein.
Reguläre Funktion in Python | Lambda-Funktion in Python |
---|---|
1 def sum_classic( a , b ): 2 return a + b |
sum_Lambda = lambda a, b: a + b |
Lambda- und Map-Funktion
Mit der Funktion map kannst du jedes Element in einer Liste verdoppeln.
Hier sind die Unterschiede zwischen der Python Lambda-Funktion und der regulären Funktion.
Reguläre Funktion in Python | Lambda-Funktion in Python |
---|---|
1 def doubler(x): 2 return x * 2 3 liste = [1, 2, 3, 4, 5] 4 resultats_def = list(map(doubler, liste)) 5 print(resultats_def) |
1 liste = [1, 2, 3, 4, 5] 2 resultats_Lambda = list(map(lambda x: x * 2, liste)) 3 print(resultats_Lambda) |
Dadurch wird [2, 4, 6, 8, 10] angezeigt.
Python Lambda- und Filterfunktion
Mit der Funktion map kannst du bestimmte Elemente filtern. In diesem Beispiel geht es darum, die geraden Zahlen aus einer Liste herauszufiltern.
Hier sind die Unterschiede zwischen der Python Lambda-Funktion und der regulären Funktion.
Reguläre Funktion in Python | Lambda-Funktion in Python |
---|---|
1 def est_pair(x): 2 return x % 2 == 0 3 liste = [1, 2, 3, 4, 5, 6, 7, 8, 9] 4 resultats_def = list(filter(est_pair, liste)) 5 print(resultats_def) |
1 liste = [1, 2, 3, 4, 5, 6, 7, 8, 9] 2 resultats_Lambda = list(filter(lambda x: x % 2 == 0, liste)) 3 print(resultats_Lambda) |
In beiden Fällen wird dies [2, 4, 6, 8] anzeigen.
Pyhon Lambda- und sorted-Funktion
Mit der Funktion map kannst du eine Liste sortieren. In diesem Beispiel geht es darum, eine Liste von Tupeln nach dem zweiten Element zu sortieren.
Hier ist der Code, den du für beide Funktionsarten eintippen musst:
Reguläre Funktion in Python | Lambda-Funktion in Python |
---|---|
1 def clee_tri(tuple): 2 return tuple[1] 3 tuples = [(1, 5), (3, 2), (8, 10), (4, 7)] 4 resultats_def = sorted(tuples, key=clee_tri) 5 print(resultats_def) |
1 tuples = [(1, 5), (3, 2), (8, 10), (4, 7)] 2 resultats_Lambda = sorted(tuples, key=lambda x: x[1]) 3 print(resultats_Lambda) |
Dies würde [(3, 2), (1, 5), (4, 7), (8, 10)] anzeigen.
Abgesehen von diesen Beispielen werden Python Lambda Funktionen in Python vor allem in Verbindung mit einfachen Funktionen für eine einmalige Operation verwendet, wie z. B. apply(), sorted(), applymap() oder reduce().
Anwendungsfälle von Lambda-Funktionen in Python
Die Python Lambda Funktion kann in den folgenden Situationen verwendet werden:
- Kleine Operationen: Der Rückgabewert wird durch die Auswertung eines Ausdrucks berechnet, der in einer einzigen Codezeile vorhanden ist. In diesem Fall kann die Definition einer vollständigen Funktion mit def zu umständlich erscheinen.
- Einmalige Operationen: Das bedeutet, dass es nicht notwendig ist, die Funktion zu benennen, da sie nur einmal verwendet wird. Wenn du sie an anderer Stelle im selben Modul wiederholen oder auf sie verweisen musst, ist es besser, die normalen Funktionen zu verwenden.
- Eingebaute Funktionen: wie z. B. die oben erwähnten Funktionen map(), filter(), apply(), sorted(), sum() und reduce().
Konkret sind Python Lambda-Funktionen nützlich, um Python-Datenstrukturen wie Listen und Wörterbücher zu sortieren. Die Wahl zwischen Lambda- und regulären Funktionen ist jedoch vor allem eine Frage des Stils und der Lesbarkeit, da das Ergebnis letztendlich das gleiche ist.
Gut zu wissen: Python Lambda-Funktionen gibt es in vielen Programmiersprachen (Java, C#, C++). Aber bei Python fügen sie keine zusätzlichen Funktionen hinzu. Das ist bei anderen Computersprachen nicht unbedingt der Fall.
Nutze Python Lambda Funktionen mit DataScientest
Egal, ob du normale oder Python Lambda Funktionen verwendest, du musst dich gut ausbilden lassen, um diese Programmiersprache zu beherrschen. Mit DataScientest ist genau das möglich. In unserem Programm lernst du, alle Arten von Operationen zu codieren, egal ob sie einfach oder komplex sind. Erfahre mehr über unser Training.