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 def
nøkkelordet i Python, defineres anonyme funksjoner ved hjelp av lambda
nø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 * 2
er lambda-funksjonen. Her er x argumentet og x * 2
er 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)