Lambda-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.
123numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x ** 2, numbers)) print(squared)
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.
123numbers = [1, 2, 3, 4, 5, 6] evens = list(filter(lambda x: x % 2 == 0, numbers)) print(evens)
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?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat