Python Lambda-Funktionen: Leitfaden für anonyme Funktionen
Erfahren Sie, wie Sie anonyme Lambda-Funktionen in Python schreiben. Beherrschen Sie funktionale Programmiermuster mit map(), filter() und sorted() mit Lambda-Syntax.
Übersicht
In Python sind Lambda-Funktionen – auch anonyme Funktionen genannt – kleine, schnelle, einzeilige Funktionen, die weder das Standardschlüsselwort „def“ noch einen formalen Namen erfordern. Sie sind für die vorübergehende, schnelle Verwendung gedacht und ermöglichen es Ihnen, funktionale Logik als Argument direkt inline zu übergeben. Dadurch wird Ihr Code kompakter und der Aufwand für das Schreiben vollwertiger Hilfsfunktionen, die nur an einer Stelle aufgerufen werden, verringert sich.
Die Syntax einer Lambda-Funktion ist einfach: „Lambda-Argumente: Ausdruck“. Im Gegensatz zu Standardfunktionen verfügt ein Lambda über keine explizite „Return“-Anweisung; Der Ausdruck wird automatisch ausgewertet und zurückgegeben. Darüber hinaus sind Lambda-Funktionen auf einen einzigen Ausdruck beschränkt, was bedeutet, dass Sie in ihnen keine komplexen mehrzeiligen Schleifen, Zuweisungen oder Bedingungsblöcke schreiben können, was einen sauberen, funktionalen Ansatz erzwingt.
Lambda-Funktionen werden häufig in Kombination mit integrierten Funktionen höherer Ordnung wie „map()“ (die eine Funktion auf jedes Element in einer Liste anwendet), „filter()“ (das Elemente beibehält, die einer Bedingung entsprechen) und „sorted()“ (das Elemente mithilfe eines benutzerdefinierten Sortierschlüssels sortiert) verwendet. Beispielsweise ist das Sortieren einer Liste von Wörterbüchern nach einem bestimmten Wörterbuchschlüssel ein Kinderspiel, wenn ein Lambda als Sortierschlüssel verwendet wird. Wenn Sie Lambda-Funktionen verstehen, erhalten Sie ein wichtiges Werkzeug zum Schreiben von sauberem Python-Code.
Code- und Ausführungsausgabe
Sortieren komplexer Wörterbuchlisten und Filtern von Datensätzen mithilfe anonymer Inline-Funktionen.
# Sorting using lambda
students = [
{"name": "Alice", "grade": 88},
{"name": "Bob", "grade": 95},
{"name": "Charlie", "grade": 90}
]
# Sort students by grade (descending)
sorted_students = sorted(students, key=lambda s: s["grade"], reverse=True)
print("Sorted students by grade:")
for student in sorted_students:
print(f"- {student['name']}: {student['grade']}")
# Filtering using lambda
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
print(f"\nOdd numbers: {odd_numbers}")Sorted students by grade:
- Bob: 95
- Charlie: 90
- Alice: 88
Odd numbers: [1, 3, 5, 7]Schrittweise Umsetzung
- Übergabe benutzerdefinierter Sortierkriterien an list.sort() und sorted()
- Anwenden von Inline-Transformationen in Data-Science-Pipelines
- Definieren von Schnellrückrufen in ereignisgesteuerten UI-Apps
Häufig gestellte Fragen
Kann eine Lambda-Funktion mehrere Argumente annehmen?
Ja, Sie können mehrere durch Kommas getrennte Argumente definieren, z. B. Lambda x, y: x + y.
Warum werden Lambda-Funktionen anonym genannt?
Weil sie im Gegensatz zu Def-Funktionen, die einen bestimmten Namen im lokalen Namespace registrieren, ohne Namensbindung erstellt werden.
Verwandte Themen
Beherrschen Sie Python-Funktionen. Erfahren Sie, wie Sie mit def wiederverwendbaren Code schreiben, Argumente definieren, Werte zurückgeben und den lokalen und globalen Bereich verstehen.
Python-VerständnisseSchreiben Sie saubereres und schnelleres Python. Masterliste, Wörterbuch und Mengenverständnis mit praktischen Beispielen, Filterbedingungen und verschachtelten Schleifen.
Empfohlene Python-Ressourcen
Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.
So verwenden Sie Lambda-Funktionen in Python
Erfahren Sie, wie Sie Lambda-Funktionen in Python verwenden. Beherrschen Sie anonyme Funktionen, Inline-Rückrufe und das Sortieren von Listendaten mit Lambda-Schlüsseln.
Spickzettel für Python-String-Methoden
Ein vollständiges Referenzhandbuch für die Python-String-Manipulation. Meistern Sie das Formatieren, Suchen, Teilen, Ersetzen und Überprüfen von Zeichenfolgeneigenschaften.
Python vs. JavaScript: Welche Programmiersprache ist die beste?
Ein umfassender Vergleich zwischen Python und JavaScript. Entdecken Sie Syntaxunterschiede, Leistung, Anwendungsfälle (Backend vs. Frontend) und Codierungsbeispiele.