Python Lambda (anonym) -funktion

I den här artikeln lär du dig om den anonyma funktionen, även känd som lambdafunktioner. Du lär dig vad de är, deras syntax och hur du använder dem (med exempel).

Vad är lambdafunktioner i Python?

I Python är en anonym funktion en funktion som definieras utan namn.

Medan normala funktioner definieras med hjälp av defnyckelordet i Python, definieras anonyma funktioner med hjälp av lambdanyckelordet.

Därför kallas anonyma funktioner också lambdafunktioner.

Hur använder jag lambda-funktioner i Python?

En lambda-funktion i python har följande syntax.

Syntax för Lambda-funktion i python

 lambda argument: uttryck

Lambda-funktioner kan ha ett antal argument men bara ett uttryck. Uttrycket utvärderas och returneras. Lambdafunktioner kan användas varhelst funktionsobjekt krävs.

Exempel på Lambda-funktion i python

Här är ett exempel på lambdafunktion som fördubblar ingångsvärdet.

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

Produktion

 10

I programmet ovan lambda x: x * 2är lambdafunktionen. Här är x argumentet och x * 2är uttrycket som utvärderas och returneras.

Denna funktion har inget namn. Det returnerar ett funktionsobjekt som tilldelas identifieraren double. Vi kan nu kalla det som en normal funktion. Påståendet

 dubbel = lambda x: x * 2

är nästan samma som:

 def dubbel (x): returnera x * 2

Användning av Lambda-funktion i python

Vi använder lambdafunktioner när vi behöver en namnlös funktion under en kort tidsperiod.

I Python använder vi det vanligtvis som ett argument till en högre ordningsfunktion (en funktion som tar in andra funktioner som argument). Lambda funktioner används tillsammans med inbyggda funktioner som filter(), map()etc.

Exempel på användning med filter ()

Den filter()funktion i Python tar in en funktion och en lista som argument.

Funktionen anropas med alla objekt i listan och en ny lista returneras som innehåller objekt som funktionen utvärderas till True.

Här är ett exempel på filter()funktion för att endast filtrera bort jämna nummer från en lista.

 # 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)

Exempel på användning med karta ()

Den map()funktion i Python tar in en funktion och en lista.

Funktionen anropas med alla objekt i listan och en ny lista returneras som innehåller objekt som returneras av den funktionen för varje objekt.

Här är ett exempel på map()funktion för att fördubbla alla objekt i en lista.

 # 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)

Intressanta artiklar...