single
Lambda-Functies
Veeg om het menu te tonen
Lambda-functies zijn anonieme functies, wat betekent dat ze geen naam hebben. Ze worden aangemaakt met het sleutelwoord lambda en worden vaak gebruikt om korte functies te definiëren waarbij je direct een functie kunt specificeren.
De basis-syntaxis van een lambda-functie is als volgt:
lambda arguments: expression
lambda: het sleutelwoord dat het begin van een lambda-functiedefinitie aangeeft;arguments: de lijst met argumenten die de functie accepteert;expression: de expressie die wordt uitgevoerd wanneer de functie wordt aangeroepen. Het resultaat van de expressie wordt als waarde van de functie geretourneerd.
Het belangrijkste kenmerk van lambda-functies is hun beknopte syntaxis. Ze zijn handig wanneer je een eenvoudige functie wilt definiëren zonder veel code te schrijven.
Enkele en Meerdere Argumenten
Een lambda-functie kan één of meer argumenten accepteren:
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
Voorwaardelijke logica in lambda-functies
Een ternaire expressie gebruiken om voorwaardelijke logica toe te voegen binnen een lambda:
123is_even = lambda x: "even" if x % 2 == 0 else "odd" print(is_even(4)) # "even" print(is_even(7)) # "odd"
Lambda gebruiken met ingebouwde functies
Een veelvoorkomend gebruik is het combineren van lambda-functies met ingebouwde functies zoals map() en 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]
Je kunt ook max() gebruiken binnen een lambda om randgevallen direct binnen de expressie af te handelen:
123safe_value = lambda x: max(x, 0) # Returns 0 if x is negative print(safe_value(-5)) # 0 print(safe_value(10)) # 10
Lambda-functies zijn het meest geschikt voor korte, enkelvoudige expressielogica. Als je functie meerdere regels of complexe logica vereist, is een reguliere def-functie een betere keuze.
Veeg om te beginnen met coderen
Er is een lijst met prijzen (prices), en er moet een lambda-expressie worden geïmplementeerd die een prijs als parameter neemt en 13% belasting aftrekt.
- Definieer een lambda-expressie met behulp van het trefwoord
lambda. - De lambda-expressie moet één parameter (
price) accepteren. - Als de
pricenegatief is, wordt deze als ongeldig beschouwd en moet er 0 worden geretourneerd met behulp van de functiemax()direct binnen de lambda-expressie. - De lambda moet eerst de prijs controleren en vervolgens 13% aftrekken van het geldige bedrag.
- Gebruik een list comprehension om
apply_taxtoe te passen op elk element inprices.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.