Du hast Fragen? Wir haben Antworten! - Bald findet unser nächster Tag der offenen Tür statt!

Logo site

Python Lambda Funktionen: Vorteile und Verwendung

-
3
 Minuten Lesezeit
-
python lambda

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.

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!
icon newsletter

DataNews

Starte Deine Karriere im Bereich Data: Erhalte regelmäßig Insiderwissen und wertvolle Karrieretipps in Deinem Posteingang.