Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Lambda-funksjoner | Rekursjon og Lambda-funksjoner
Python Funksjoner Veiledning
Seksjon 5. Kapittel 4
single

single

bookLambda-funksjoner

Sveip for å vise menyen

Lambda-funksjoner er anonyme funksjoner, det vil si at de ikke har noe navn. De opprettes ved å bruke nøkkelordet lambda og brukes ofte til å definere korte funksjoner der du kan spesifisere en funksjon direkte.

Den grunnleggende syntaksen for en lambda-funksjon er som følger:

lambda arguments: expression
  • lambda: nøkkelordet som markerer starten på en lambda-funksjon;
  • arguments: listen over argumenter funksjonen tar imot;
  • expression: uttrykket som utføres når funksjonen kalles. Resultatet av uttrykket returneres som funksjonens verdi.

Hovedtrekket ved lambda-funksjoner er den konsise syntaksen. De er praktiske når du trenger å definere en enkel funksjon uten å skrive mye kode.

Enkle og flere argumenter

En lambda-funksjon kan ta ett eller flere argumenter:

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
copy

Betinget logikk i lambda-funksjoner

Du kan bruke et ternært uttrykk for å legge til betinget logikk inne i en lambda:

123
is_even = lambda x: "even" if x % 2 == 0 else "odd" print(is_even(4)) # "even" print(is_even(7)) # "odd"
copy

Bruk av lambda med innebygde funksjoner

Et vanlig bruksområde er å kombinere lambda-funksjoner med innebygde funksjoner som map() og filter():

123456789
prices = [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]
copy

Du kan også bruke max() inne i en lambda for å håndtere spesialtilfeller direkte i uttrykket:

123
safe_value = lambda x: max(x, 0) # Returns 0 if x is negative print(safe_value(-5)) # 0 print(safe_value(10)) # 10
copy
lambda
Note
Merk

Lambda-funksjoner egner seg best for kort, enkel uttrykkslogikk. Hvis funksjonen din krever flere linjer eller kompleks logikk, er en vanlig def-funksjon et bedre valg.

Oppgave

Sveip for å begynne å kode

Det finnes en liste med priser (prices), og et lambda-uttrykk skal implementeres som tar en pris som parameter og trekker fra 13 % skatt.

  1. Definer et lambda-uttrykk ved å bruke nøkkelordet lambda.
  2. Lambda-uttrykket skal ta én parameter (price).
  3. Hvis price er negativ, anses den som ugyldig og skal returnere 0 ved å bruke funksjonen max() direkte i lambda-uttrykket.
  4. Lambdaen skal først sjekke prisen og deretter trekke fra 13 % fra det gyldige beløpet.
  5. Bruk en list comprehension for å bruke apply_taxhver enkelt verdi i prices.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 4
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

some-alt