Hvordan du bruker lambda -funksjoner i python

Hvordan du bruker lambda -funksjoner i python
Denne artikkelen vil forklare hvordan du bruker Lambda -funksjoner i Python. Lambda-funksjoner kan brukes til å skrive kortfattede en-linjer, implementere logikk og raskt få returverdier som kan mates til andre uttrykk.

Om Lambda -funksjoner

Lambda -funksjoner i Python er ikke navngitte og anonyme funksjoner som kan brukes til å lage uttrykk som returnerer en slags verdi basert på beregningene implementert i selve uttrykket. Logikk i disse Lambda -funksjonene kan skrives på en kortfattet måte, vanligvis noe som passer enkelt i en linje. Noen ganger kan de være vanskelige å lese, spesielt hvis folk ikke er godt kjent med Lambda -funksjoner. Imidlertid har de fordelen av å holde ting sammen i kodeblokker, og de hjelper bedre med å forstå konteksten.

Syntaks av Lambda -funksjoner

Syntaksen til en lambda -funksjon i Python ser slik ut:

multiply = lambda x, y: x * y

Den første delen av Lambda -uttrykket, like før kolon (:) Symbol, tar parametere som argumenter. Den andre delen, etter kolonsymbolet, må være en returverdi. Denne returverdien kan også være et uttrykk med logikk. Faktisk brukes lambda -funksjoner nesten hele tiden til å implementere litt logikk på medfølgende argumenter og deretter returnere det endelige resultatet.

For å teste lambda -funksjonen som er nevnt ovenfor, kan du bruke følgende uttalelse:

Print (Multiply (3, 4))

Du bør få følgende utdata:

12

Den samme lambda -funksjonen vil ellers være skrevet på følgende måte:

def multiply (x, y):
Returner x * y
Print (Multiply (3, 4))

Begge kodeprøvene vil gi samme utgang. Noen flere eksempler på lambda -funksjoner er forklart nedenfor.

Pass Lambda fungerer som argumenter

Du kan bruke Lambda -funksjoner til å gjøre beregninger og levere returverdien som argumenter til andre funksjoner. Sort Method in Python tar et "nøkkel" -argument der du kan spesifisere en kallbar funksjon som tar et enkelt argument for sorteringsformål. I stedet for først å definere en egen funksjon som returnerer en nøkkel og deretter levere funksjonens referanse til argumentet, kan du ganske enkelt bruke en lambda -funksjon.

frukt = [(2, 'epler'), (4, 'appelsiner'), (3, 'bananer')]
frukt.Sorter (tast = lambda element: element [0])
trykk (frukt)

Koden over vil produsere følgende utgang:

[(2, 'epler'), (3, 'bananer'), (4, 'appelsiner')]

Du kan bruke lambda i en slik metode som tar en konkluderbar funksjon som argument (filtermetode for eksempel).

Bruk Lambda -funksjoner i listeforståelser

Du kan bruke Lambda i listeforståelser, og en liste vil bli behørig opprettet fra verdiene som er returnert av Lambda -uttrykket.

get_square = lambda a: a * a
firkanter = [get_square (x) for x i rekkevidde (5)]
trykk (firkanter)

Dette vil produsere følgende utgang:

[0, 1, 4, 9, 16]

Kodeprøven ovenfor kan også skrives på følgende måte der “X” blir levert til Lambda -funksjonen som et argument:

firkanter = [(lambda x: x * x) (x) for x i rekkevidde (5)]
trykk (firkanter)

Dette eksemplet illustrerer bare bruk av lambda -funksjoner i listeforståelser. Du kan ellers enkelt beregne firkanter ved å bruke en minimal listeforståelsesuttalelse:

print ([x * x for x i rekkevidde (5)])

Bruk Lambda -funksjoner i Python Dictionaries

Kodeprøven nedenfor illustrerer Lambda-funksjoner som brukes i nøkkelverdipar i en Python-ordbok. Når du er definert, kan du ringe disse funksjonene når som helst.

beregne = 'sum': lambda a, b: a + b, 'forskjell': lambda a, b: a - b
Print (Beregn ['Sum'] (4, 5))
Print (Beregn ['Forskjell'] (4, 5))

Du bør få følgende utdata etter å ha kjørt ovennevnte kode:

9
-1

Konklusjon

Lambda -funksjoner gir en utmerket måte å skrive korthåndsuttrykk og holde ting pent og organisert uten unødvendig å lage mange navngitte funksjoner. Imidlertid kan overbruk av lambda -funksjoner gjøre kode vanskelig å lese, spesielt når kode blir sett på av mer enn én person. Det er bedre å ha mer lesbar kode (selv om den er ordentlig) enn å ha noe som kan være litt vanskelig å forstå på Revisits.