Whatsapp Telegram Telegram Call Anrufen

Lambda-Funktionen in Python


Lambda-Funktionen, auch anonyme Funktionen genannt, sind kleine, kurzlebige Funktionen, die direkt im Code definiert und verwendet werden können. Sie sind besonders nützlich, wenn eine einfache Funktion nur einmal benötigt wird und keine separate Funktionsdefinition erforderlich ist. In Python werden Lambda-Funktionen mit dem Schlüsselwort lambda erstellt.

1. Syntax und Grundlagen von Lambda-Funktionen

Die Syntax einer Lambda-Funktion ist kompakt und besteht aus dem Schlüsselwort lambda, gefolgt von einer Liste von Parametern, einem Doppelpunkt und dem Ausdruck, der ausgewertet und zurückgegeben wird.

Syntax:

lambda argument1, argument2, ... : Ausdruck


Eine Lambda-Funktion kann beliebig viele Argumente, aber nur einen Ausdruck haben. Der Ausdruck wird ausgewertet und das Ergebnis wird zurückgegeben.

Beispiel:

# Definieren einer Lambda-Funktion
quadriere = lambda x: x ** 2

# Aufrufen der Lambda-Funktion
ergebnis = quadriere(5)
print(ergebnis)  # Ausgabe: 25


In diesem Beispiel wird eine Lambda-Funktion definiert, die das Quadrat einer Zahl berechnet. Die Funktion wird dann aufgerufen und das Ergebnis wird ausgegeben.

2. Vergleich mit normalen Funktionen

Lambda-Funktionen sind syntaktisch kürzer und werden häufig für einfache Aufgaben verwendet. Normale Funktionen sind jedoch besser geeignet für komplexere Aufgaben und bieten die Möglichkeit, Dokumentationsstrings und mehrere Anweisungen zu enthalten.

Normale Funktion:

def quadriere(x):
    return x ** 2

ergebnis = quadriere(5)
print(ergebnis)  # Ausgabe: 25

Lambda-Funktion:

quadriere = lambda x: x ** 2
ergebnis = quadriere(5)
print(ergebnis)  # Ausgabe: 25

Beide Ansätze führen zur gleichen Ausgabe, aber die normale Funktion bietet mehr Flexibilität und Lesbarkeit für komplexere Aufgaben.

3. Lambda-Funktionen mit mehreren Argumenten

Lambda-Funktionen können mehrere Argumente akzeptieren und mit ihnen arbeiten.

Beispiel:

# Definieren einer Lambda-Funktion mit zwei Argumenten
addiere = lambda x, y: x + y

# Aufrufen der Lambda-Funktion
ergebnis = addiere(3, 5)
print(ergebnis)  # Ausgabe: 8

In diesem Beispiel wird eine Lambda-Funktion definiert, die zwei Zahlen addiert und das Ergebnis zurückgibt.

4. Verwendung von Lambda-Funktionen mit eingebauten Funktionen

Lambda-Funktionen sind besonders nützlich in Kombination mit eingebauten Funktionen wie map(), filter() und sorted().

Verwendung mit map():

# Liste von Zahlen
zahlen = [1, 2, 3, 4, 5]

# Verdoppeln Sie jede Zahl in der Liste
verdoppelt = list(map(lambda x: x * 2, zahlen))
print(verdoppelt)  # Ausgabe: [2, 4, 6, 8, 10]

Verwendung mit filter():

# Liste von Zahlen
zahlen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Filtern Sie gerade Zahlen
gerade_zahlen = list(filter(lambda x: x % 2 == 0, zahlen))
print(gerade_zahlen)  # Ausgabe: [2, 4, 6, 8, 10]


Verwendung mit sorted():

# Liste von Tupeln
studenten = [("Max", 21), ("Anna", 22), ("Tom", 20)]

# Sortieren nach Alter
studenten_sortiert = sorted(studenten, key=lambda student: student[1])
print(studenten_sortiert)  # Ausgabe: [('Tom', 20), ('Max', 21), ('Anna', 22)]

In diesen Beispielen werden Lambda-Funktionen verwendet, um die map(), filter() und sorted()-Funktionen zu steuern, indem sie jeweils eine einfache Funktion bereitstellen, die auf jedes Element der Liste angewendet wird.

5. Einschränkungen von Lambda-Funktionen

Lambda-Funktionen haben einige Einschränkungen:

  • Sie können nur einen einzigen Ausdruck enthalten.
  • Sie sind weniger lesbar, wenn sie komplexer werden.
  • Sie bieten keine Möglichkeit, Dokumentationsstrings hinzuzufügen.

Für komplexere Aufgaben und eine bessere Lesbarkeit ist es oft besser, normale Funktionen zu verwenden.

Zusammenfassung

Lambda-Funktionen sind eine nützliche Ergänzung zu normalen Funktionen in Python. Sie ermöglichen es, einfache Funktionen auf kompakte und anonyme Weise zu definieren, was besonders in Kombination mit eingebauten Funktionen wie map(), filter() und sorted() nützlich ist. Durch das Verständnis und die Anwendung von Lambda-Funktionen können Sie Ihren Python-Code effizienter und flexibler gestalten.





CEO Image

Ali Ajjoub

info@ajjoub.com

Adresse 0049-15773651670

Adresse Jacob-winter-platz,1 01239 Dresden

Buchen Sie jetzt Ihren Termin für eine umfassende und individuelle Beratung.

Termin Buchen

Kontaktieren Sie uns

Lassen Sie uns K o n t a k t aufnehmen!