Python Lambda (anonym) funktion

I denne artikel lærer du om den anonyme funktion, også kendt som lambda-funktioner. Du lærer, hvad de er, deres syntaks og hvordan man bruger dem (med eksempler).

Hvad er lambdafunktioner i Python?

I Python er en anonym funktion en funktion, der er defineret uden et navn.

Mens normale funktioner defineres ved hjælp af defnøgleordet i Python, defineres anonyme funktioner ved hjælp af lambdanøgleordet.

Derfor kaldes anonyme funktioner også lambda-funktioner.

Hvordan bruges lambda-funktioner i Python?

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

Syntaks for Lambda-funktion i python

 lambda argumenter: udtryk

Lambda-funktioner kan have et vilkårligt antal argumenter, men kun et udtryk. Udtrykket evalueres og returneres. Lambda-funktioner kan bruges hvor som helst funktionsobjekter.

Eksempel på Lambda-funktion i python

Her er et eksempel på lambda-funktion, der fordobler inputværdien.

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

Produktion

 10

I ovenstående program lambda x: x * 2er lambda-funktionen. Her er x argumentet og x * 2er det udtryk, der bliver evalueret og returneret.

Denne funktion har intet navn. Det returnerer et funktionsobjekt, der er tildelt identifikatoren double. Vi kan nu kalde det som en normal funktion. Erklæringen

 dobbelt = lambda x: x * 2

er næsten det samme som:

 def dobbelt (x): returner x * 2

Brug af Lambda-funktion i python

Vi bruger lambda-funktioner, når vi har brug for en navnløs funktion i en kort periode.

I Python bruger vi det generelt som et argument til en højere ordensfunktion (en funktion, der tager andre funktioner som argumenter). Lambda funktioner bruges sammen med indbyggede funktioner gerne filter(), map()etc.

Eksempel på brug med filter ()

Den filter()funktion i Python tager i en funktion og en liste som argumenter.

Funktionen kaldes med alle elementerne på listen, og en ny liste returneres, der indeholder elementer, som funktionen evalueres til True.

Her er et eksempel på brug af filter()funktion til kun at filtrere lige tal 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)

Produktion

 (4, 6, 8, 12)

Eksempel på brug med kort ()

Den map()funktion i Python tager i en funktion og en liste.

Funktionen kaldes med alle elementerne på listen, og en ny liste returneres, der indeholder varer, der returneres af denne funktion for hvert element.

Her er et eksempel på brug af map()funktion til at fordoble alle elementerne på 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)

Produktion

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

Interessante artikler...