single
Lambda-Funktionen
Swipe um das Menü anzuzeigen
Lambda-Funktionen sind anonyme Funktionen, das heißt, sie haben keinen Namen. Sie werden mit dem Schlüsselwort lambda erstellt und häufig verwendet, um kurze Funktionen zu definieren, bei denen eine Funktion direkt angegeben werden kann.
Die grundlegende Syntax einer Lambda-Funktion ist wie folgt:
lambda arguments: expression
lambda: das Schlüsselwort, das den Beginn einer Lambda-Funktionsdefinition anzeigt;arguments: die Liste der Argumente, die die Funktion entgegennimmt;expression: der Ausdruck, der ausgeführt wird, wenn die Funktion aufgerufen wird. Das Ergebnis des Ausdrucks wird als Funktionswert zurückgegeben.
Das Hauptmerkmal von Lambda-Funktionen ist ihre kompakte Syntax. Sie sind praktisch, wenn eine einfache Funktion definiert werden soll, ohne viel Code zu schreiben.
Einzelne und mehrere Argumente
Eine Lambda-Funktion kann ein oder mehrere Argumente annehmen:
1234567# Single argument square = lambda x: x**2 print(square(5)) # 25 # Multiple arguments add = lambda x, y: x + y print(add(3, 5)) # 8
Bedingte Logik in Lambda-Funktionen
Eine ternäre Ausdrucksweise ermöglicht das Hinzufügen von bedingter Logik innerhalb einer Lambda-Funktion:
123is_even = lambda x: "even" if x % 2 == 0 else "odd" print(is_even(4)) # "even" print(is_even(7)) # "odd"
Verwendung von Lambda mit eingebauten Funktionen
Ein häufiger Anwendungsfall ist die Kombination von Lambda-Funktionen mit eingebauten Funktionen wie map() und filter():
123456789prices = [100, 200, 300] # Apply 10% discount to each price discounted = list(map(lambda price: price * 0.9, prices)) print(discounted) # [90.0, 180.0, 270.0] # Keep only prices above 150 expensive = list(filter(lambda price: price > 150, prices)) print(expensive) # [200, 300]
Mit max() innerhalb einer Lambda-Funktion können Sonderfälle direkt im Ausdruck behandelt werden:
123safe_value = lambda x: max(x, 0) # Returns 0 if x is negative print(safe_value(-5)) # 0 print(safe_value(10)) # 10
Lambda-Funktionen eignen sich am besten für kurze, einzelne Ausdruckslogik. Wenn eine Funktion mehrere Zeilen oder komplexe Logik erfordert, ist eine reguläre def-Funktion die bessere Wahl.
Wischen, um mit dem Codieren zu beginnen
Es gibt eine Liste von Preisen (prices), und ein Lambda-Ausdruck soll implementiert werden, der einen Preis als Parameter übernimmt und 13 % Steuer davon abzieht.
- Definition eines Lambda-Ausdrucks mit dem Schlüsselwort
lambda. - Der Lambda-Ausdruck soll einen Parameter (
price) annehmen. - Ist der
pricenegativ, gilt er als ungültig und es soll direkt innerhalb des Lambda-Ausdrucks mit der Funktionmax()0 zurückgegeben werden. - Der Lambda-Ausdruck soll zuerst den Preis prüfen und dann 13 % abziehen vom gültigen Betrag.
- Mit einer List Comprehension soll
apply_taxauf jedes Element inpricesangewendet werden.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen