Python

⌘K
  1. Home
  2. Docs
  3. Python
  4. Python Lambda

Python Lambda

Python Lambda: Lambda-Funktionen sind in Python anonyme Funktionen, die eine einfache und schnelle Möglichkeit bieten, kleine, einmalige Funktionen zu erstellen. Sie sind besonders nützlich, wenn Sie eine Funktion als Argument an eine andere Funktion übergeben möchten oder wenn Sie eine Funktion nur für einen kurzen Zeitraum benötigen.

1. Syntax von Lambda-Funktionen

Die grundlegende Syntax einer Lambda-Funktion lautet:

lambda parameter1, parameter2, ... : Ausdruck

Hierbei sind parameter1, parameter2 die Eingabeparameter, und Ausdruck ist das, was zurückgegeben wird.

Beispiel

Eine einfache Lambda-Funktion, die zwei Zahlen addiert, könnte wie folgt aussehen:

addiere = lambda x, y: x + y
ergebnis = addiere(5, 3)
print("Das Ergebnis ist:", ergebnis)

Ausgabe:

Das Ergebnis ist: 8

2. Verwendung von Lambda-Funktionen in Funktionen

Lambda-Funktionen sind besonders nützlich, wenn sie als Argumente an Funktionen übergeben werden. Eine häufige Anwendung ist in der Verwendung von Funktionen wie map(), filter() und sorted().

Beispiel mit map()

Mit map() können Sie eine Funktion auf jedes Element einer Liste anwenden:

zahlen = [1, 2, 3, 4, 5]
verdoppelt = list(map(lambda x: x * 2, zahlen))
print("Verdoppelte Zahlen:", verdoppelt)

Ausgabe:

Verdoppelte Zahlen: [2, 4, 6, 8, 10]

Beispiel mit filter()

filter() ermöglicht es Ihnen, eine Funktion anzuwenden, die True oder False zurückgibt, um Elemente aus einer Liste zu filtern:

zahlen = [1, 2, 3, 4, 5, 6]
gerade_zahlen = list(filter(lambda x: x % 2 == 0, zahlen))
print("Gerade Zahlen:", gerade_zahlen)

Ausgabe:

Gerade Zahlen: [2, 4, 6]

Beispiel mit sorted()

Lambda-Funktionen können auch verwendet werden, um die Sortierreihenfolge anzupassen:

paare = [(1, 'eins'), (3, 'drei'), (2, 'zwei')]
sortiert = sorted(paare, key=lambda x: x[0])
print("Sortierte Paare:", sortiert)

Ausgabe:

Sortierte Paare: [(1, 'eins'), (2, 'zwei'), (3, 'drei')]

3. Mehrere Parameter

Lambda-Funktionen können beliebig viele Parameter akzeptieren. Der Ausdruck kann jedoch nur einen einzelnen Ausdruck enthalten.

Beispiel

multipliziere = lambda x, y, z: x * y * z
ergebnis = multipliziere(2, 3, 4)
print("Das Produkt ist:", ergebnis)

Ausgabe:

Das Produkt ist: 24

4. Einschränkungen von Lambda-Funktionen

Es gibt einige Einschränkungen, die Sie beachten sollten:

  • Lambda-Funktionen können nur einen Ausdruck enthalten. Sie können keine komplexen Anweisungen oder mehrere Anweisungen in einer Lambda-Funktion haben.
  • Sie sind in der Regel nicht so leicht lesbar wie reguläre Funktionen, weshalb sie oft nur für sehr einfache Operationen verwendet werden.

Häufig gestellte Fragen

Wann sollte ich Lambda-Funktionen anstelle von normalen Funktionen verwenden?

Lambda-Funktionen sind nützlich, wenn Sie eine einfache Funktion erstellen möchten, die nur an einer Stelle verwendet wird, z. B. als Argument für map(), filter() oder sorted().

Können Lambda-Funktionen mehrere Zeilen Code enthalten?

Nein, Lambda-Funktionen können nur einen einzelnen Ausdruck enthalten. Wenn Sie mehrere Anweisungen benötigen, sollten Sie eine reguläre Funktion definieren.

Sind Lambda-Funktionen langsamer als normale Funktionen?

In der Regel ist der Geschwindigkeitsunterschied zwischen Lambda-Funktionen und normalen Funktionen minimal. Die Wahl zwischen den beiden sollte hauptsächlich auf Lesbarkeit und Klarheit des Codes basieren.