Python

Sådan bruges Lambda-funktioner i Python

Sådan bruges Lambda-funktioner i Python
Denne artikel vil forklare, hvordan du bruger Lambda-funktioner i Python. Lambda-funktioner kan bruges til at skrive kortfattede one-liners, implementere logik og hurtigt få returværdier, der kan fødes til andre udtryk.

Om Lambda-funktioner

Lambda-funktioner i python er navngivne og anonyme funktioner, der kan bruges til at skabe udtryk, der returnerer en slags værdi baseret på beregningerne implementeret i selve udtrykket. Logik i disse lambda-funktioner kan skrives på en kortfattet måde, normalt noget, der passer let i en linje. Nogle gange kan de være vanskelige at læse, især hvis folk ikke er fortrolige med Lambda-funktioner. De har dog fordelen ved at holde tingene sammen inden for kodeblokke, og de hjælper bedre med at forstå sammenhængen.

Syntaks for Lambda-funktioner

Syntaksen for en Lambda-funktion i Python ser sådan ud:

gang = lambda x, y: x * y

Den første del af lambda-udtrykket, lige før kolon (:) symbol, tager parametre som argumenter. Den anden del, efter kolon-symbolet, skal være en returværdi. Denne returværdi kan også være et udtryk med logik. Faktisk bruges Lambda-funktioner næsten hele tiden til at implementere nogle logik på leverede argumenter og derefter returnere det endelige resultat.

For at teste Lambda-funktionen, der er anført ovenfor, kan du bruge følgende erklæring:

udskriv (gang (3, 4))

Du skal få følgende output:

12

Den samme lambda-funktion ville ellers blive skrevet på følgende måde:

def multiplicere (x, y):
returner x * y
udskriv (gang (3, 4))

Begge kodeeksempler giver den samme output. Nogle flere eksempler på Lambda-funktioner forklares nedenfor.

Pass Lambda fungerer som argumenter

Du kan bruge Lambda-funktioner til at foretage beregninger og levere returværdien som argumenter til andre funktioner. Sorteringsmetode i Python tager et "nøgle" -argument, hvor du kan specificere en kaldbar funktion, der tager et enkelt argument til sorteringsformål. I stedet for først at definere en separat funktion, der returnerer en nøgle og derefter levere funktionens reference til argumentet, kan du blot bruge en Lambda-funktion.

frugter = [(2, 'æbler'), (4, 'appelsiner'), (3, 'bananer')]
frugt.sorter (nøgle = lambda-element: element [0])
print (frugt)

Koden ovenfor producerer følgende output:

[(2, 'æbler'), (3, 'bananer'), (4, 'appelsiner')]

Du kan bruge lambda i enhver sådan metode, der tager en kaldbar funktion som argument (filtermetode for eksempel).

Brug Lambda-funktioner i listeforståelser

Du kan bruge Lambda i listeforståelser, og en liste oprettes behørigt ud fra de værdier, der returneres af Lambda-udtrykket.

get_square = lambda a: a * a
firkanter = [get_square (x) for x i rækkevidde (5)]
print (firkanter)

Dette giver følgende output:

[0, 1, 4, 9, 16]

Kodeprøven ovenfor kan også skrives på følgende måde, hvor “x” leveres til lambda-funktionen som argument:

firkanter = [(lambda x: x * x) (x) for x i området (5)]
print (firkanter)

Dette eksempel illustrerer bare brugen af ​​Lambda-funktioner i listeforståelser. Du kan ellers let beregne firkanter ved hjælp af en minimal sætningsforståelse:

udskriv ([x * x for x i området (5)])

Brug Lambda-funktioner i Python-ordbøger

Kodeprøven nedenfor illustrerer Lambda-funktioner, der bruges i nøgleværdipar i en Python-ordbog. Når du er defineret, kan du ringe til disse funktioner når som helst.

beregne = 'sum': lambda a, b: a + b, 'forskel': lambda a, b: a - b
udskrive (beregne ['sum'] (4, 5))
udskrive (beregne ['forskel'] (4, 5))

Du skal få følgende output efter at have kørt ovenstående kode:

9
-1

Konklusion

Lambda-funktioner giver en fremragende måde at skrive stenografiske udtryk og holde tingene pæne og organiserede uden unødvendigt at skabe mange navngivne funktioner. Imidlertid kan overbrug af Lambda-funktioner gøre koden vanskelig at læse, især når der ses på kode af mere end en person. Det er bedre at have en mere læselig kode (selvom den er ordentlig) end at have noget, der kan være lidt svært at forstå ved besøg.

Bedste Linux Distros til spil i 2021
Linux-operativsystemet er kommet langt fra dets originale, enkle, serverbaserede udseende. Dette operativsystem er forbedret enormt i de senere år og ...
Sådan registreres og streames din gaming-session på Linux
Tidligere blev spil kun betragtet som en hobby, men med tiden oplevede spilindustrien en enorm vækst med hensyn til teknologi og antallet af spillere....
Bedste spil at spille med håndsporing
Oculus Quest introducerede for nylig den gode idé om håndsporing uden controllere. Med et stadigt stigende antal spil og aktiviteter, der udfører supp...