Lambda-Funktionen
Swipe um das Menü anzuzeigen
Lambda-Funktionen sind ein zentrales Merkmal von Python, das es ermöglicht, kleine, anonyme Funktionen mit einer kompakten Syntax zu erstellen. Der Hauptzweck einer Lambda-Funktion besteht darin, eine Funktion in einer einzigen Zeile zu definieren, typischerweise für kurze, einmalige Anwendungsfälle, bei denen eine vollständige Funktionsdefinition mit def unnötig umständlich wäre.
Lambda-Funktionen werden am häufigsten in Kombination mit höherwertigen Funktionen wie map, filter und sorted verwendet, wenn eine Funktion als Argument übergeben werden muss, aber keine vollständige Funktion an anderer Stelle im Code definiert werden soll.
Eine Lambda-Funktion kann beliebig viele Argumente annehmen, muss jedoch genau einen Ausdruck enthalten. Das Ergebnis dieses Ausdrucks wird automatisch zurückgegeben. Während Lambda-Funktionen nützlich sind, um schnelle, kurzlebige Funktionen zu erstellen, haben sie Einschränkungen: Sie dürfen keine mehreren Anweisungen, Zuweisungen oder komplexe Logik enthalten und sind bei übermäßigem Gebrauch weniger lesbar. Aufgrund dieser Einschränkungen sollten Lambda-Funktionen für einfache Aufgaben verwendet und reguläre Funktionen für komplexere Operationen bevorzugt werden.
123numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x ** 2, numbers)) print(squared)
Der obige Code verwendet eine Lambda-Funktion zusammen mit der höheren Funktion map, um jede Zahl in der Liste numbers zu quadrieren. Die Anweisung lambda x: x ** 2 definiert eine anonyme Funktion, die ein einzelnes Argument x entgegennimmt und dessen Quadrat zurückgibt. Mit diesem Ansatz kann eine einfache Operation schnell auf jedes Element einer Liste angewendet werden, ohne eine separate benannte Funktion zu definieren. Dies macht den Code prägnanter und übersichtlicher, wenn die Funktion nur einmal benötigt wird.
123numbers = [1, 2, 3, 4, 5, 6] evens = list(filter(lambda x: x % 2 == 0, numbers)) print(evens)
In diesem Beispiel wird eine Lambda-Funktion mit filter verwendet, um nur die geraden Zahlen aus der Liste numbers zu extrahieren. Der Einsatz einer Lambda-Funktion macht die Filterlogik prägnant und gut lesbar, besonders wenn lediglich eine einfache Überprüfung erforderlich ist und keine separate benannte Funktion erstellt werden soll.
1. Was ist der Hauptunterschied zwischen einer Lambda-Funktion und einer regulären Funktion?
2. Wann sollte man eine Lambda-Funktion anstelle von def verwenden?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen