Python Lambda (anonym) -funksjon

I denne artikkelen vil du lære om den anonyme funksjonen, også kjent som lambda-funksjoner. Du lærer hva de er, syntaksen og hvordan du bruker dem (med eksempler).

Hva er lambdafunksjoner i Python?

I Python er en anonym funksjon en funksjon som er definert uten navn.

Mens normale funksjoner er definert ved hjelp av defnøkkelordet i Python, defineres anonyme funksjoner ved hjelp av lambdanøkkelordet.

Derfor kalles anonyme funksjoner også lambdafunksjoner.

Hvordan bruke lambda-funksjoner i Python?

En lambda-funksjon i python har følgende syntaks.

Syntaks for Lambda-funksjon i python

 lambda argumenter: uttrykk

Lambda-funksjoner kan ha et hvilket som helst antall argumenter, men bare ett uttrykk. Uttrykket evalueres og returneres. Lambda-funksjoner kan brukes hvor funksjonsobjekter som kreves.

Eksempel på Lambda-funksjon i python

Her er et eksempel på lambdafunksjon som dobler inngangsverdien.

 # Program to show the use of lambda functions double = lambda x: x * 2 print(double(5))

Produksjon

 10

I programmet ovenfor lambda x: x * 2er lambda-funksjonen. Her er x argumentet og x * 2er uttrykket som blir evaluert og returnert.

Denne funksjonen har ikke noe navn. Den returnerer et funksjonsobjekt som er tilordnet identifikatoren double. Vi kan nå kalle det som en normal funksjon. Uttalelsen

 dobbelt = lambda x: x * 2

er nesten det samme som:

 def double (x): return x * 2

Bruk av Lambda-funksjon i python

Vi bruker lambdafunksjoner når vi trenger en navnløs funksjon i en kort periode.

I Python bruker vi det generelt som et argument for en høyere ordensfunksjon (en funksjon som tar i andre funksjoner som argumenter). Lambda funksjoner blir brukt sammen med innebygde funksjoner like filter(), map()etc.

Eksempel på bruk med filter ()

Den filter()funksjon i Python tar inn en funksjon og en liste som argumenter.

Funksjonen kalles med alle elementene i listen, og en ny liste returneres som inneholder elementer som funksjonen evalueres for True.

Her er et eksempel på bruk av filter()funksjon for å filtrere ut bare partall fra en liste.

 # Program to filter out only the even items from a list my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(filter(lambda x: (x%2 == 0) , my_list)) print(new_list)

Produksjon

 (4, 6, 8, 12)

Eksempel på bruk med kart ()

Den map()funksjon i Python tar inn en funksjon og en liste.

Funksjonen kalles med alle elementene i listen, og en ny liste returneres som inneholder elementer som returneres av den funksjonen for hvert element.

Her er et eksempel på bruk av map()funksjon for å doble alle elementene i en liste.

 # Program to double each item in a list using map() my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(map(lambda x: x * 2 , my_list)) print(new_list)

Produksjon

 (2, 10, 8, 12, 16, 22, 6, 24)

Interessante artikler...