Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Lambda-Funktioner | Højereordensfunktioner og Lambdas
Funktionelle Programmeringskoncepter i Python

bookLambda-Funktioner

Stryg for at vise menuen

Lambda-funktioner er en central funktion i Python, der gør det muligt at oprette små, anonyme funktioner med en kortfattet syntaks. Hovedformålet med en lambda-funktion er at definere en funktion på én linje, typisk til korte, engangsbrug, hvor en fuld funktionsdefinition med def ville være unødvendigt omstændelig.

Lambda-funktioner bruges oftest sammen med højere-ordens funktioner som map, filter og sorted, hvor du skal videregive en funktion som argument, men ikke ønsker at definere en fuld funktion et andet sted i din kode.

En lambda-funktion kan tage et vilkårligt antal argumenter, men må kun indeholde ét enkelt udtryk. Resultatet af dette udtryk returneres automatisk. Selvom lambda-funktioner er nyttige til at oprette hurtige, midlertidige funktioner, har de begrænsninger: de kan ikke indeholde flere udsagn, tildelinger eller kompleks logik, og de bliver mindre læsbare, hvis de overanvendes. På grund af disse begrænsninger bør lambda-funktioner bruges til simple opgaver, mens almindelige funktioner foretrækkes til mere komplekse operationer.

123
numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x ** 2, numbers)) print(squared)
copy

Koden ovenfor bruger en lambda-funktion sammen med den højere-ordens funktion map til at kvadrere hvert tal i listen numbers. lambda x: x ** 2 definerer en anonym funktion, der tager et enkelt argument x og returnerer dets kvadrat. Denne tilgang gør det muligt hurtigt at anvende en simpel operation på hvert element i en liste uden at definere en separat navngiven funktion, hvilket gør koden mere kortfattet og fokuseret, når funktionen kun skal bruges én gang.

123
numbers = [1, 2, 3, 4, 5, 6] evens = list(filter(lambda x: x % 2 == 0, numbers)) print(evens)
copy

Dette eksempel bruger en lambda-funktion sammen med filter til at udtrække kun de lige tal fra listen numbers. Ved at bruge en lambda-funktion her bliver filtreringslogikken kortfattet og letlæselig, især når du kun har brug for at udføre en simpel kontrol uden at oprette en separat navngiven funktion.

1. Hvad er den primære forskel mellem en lambda-funktion og en almindelig funktion?

2. Hvornår bør du bruge en lambda-funktion i stedet for def?

question mark

Hvad er den primære forskel mellem en lambda-funktion og en almindelig funktion?

Vælg det korrekte svar

question mark

Hvornår bør du bruge en lambda-funktion i stedet for def?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 5

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 2. Kapitel 5
some-alt