Python Lambda (anonieme) functie

In dit artikel leer je over de anonieme functie, ook wel lambda-functies genoemd. U leert wat ze zijn, hun syntaxis en hoe u ze kunt gebruiken (met voorbeelden).

Wat zijn lambda-functies in Python?

In Python is een anonieme functie een functie die zonder naam is gedefinieerd.

Terwijl normale functies worden gedefinieerd met behulp van het deftrefwoord in Python, worden anonieme functies gedefinieerd met behulp van het lambdatrefwoord.

Daarom worden anonieme functies ook wel lambda-functies genoemd.

Hoe lambda-functies in Python te gebruiken?

Een lambda-functie in python heeft de volgende syntaxis.

Syntaxis van Lambda-functie in python

 lambda-argumenten: uitdrukking

Lambda-functies kunnen een willekeurig aantal argumenten hebben, maar slechts één uitdrukking. De uitdrukking wordt geëvalueerd en geretourneerd. Lambda-functies kunnen overal worden gebruikt waar functieobjecten vereist zijn.

Voorbeeld van Lambda-functie in python

Hier is een voorbeeld van een lambda-functie die de invoerwaarde verdubbelt.

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

Uitvoer

 10

In het bovenstaande programma lambda x: x * 2is de lambda-functie. Hier is x het argument en x * 2is de uitdrukking die wordt geëvalueerd en geretourneerd.

Deze functie heeft geen naam. Het retourneert een functieobject dat is toegewezen aan de identifier double. We kunnen het nu als een normale functie noemen. De verklaring

 dubbel = lambda x: x * 2

is bijna hetzelfde als:

 def dubbel (x): retourneer x * 2

Gebruik van Lambda-functie in python

We gebruiken lambda-functies als we een naamloze functie voor een korte tijd nodig hebben.

In Python gebruiken we het over het algemeen als een argument voor een functie van een hogere orde (een functie die andere functies als argumenten aanneemt). Lambda-functies worden gebruikt in combinatie met ingebouwde functies zoals filter(), map()enz.

Voorbeeld gebruik met filter ()

De filter()functie in Python neemt een functie en een lijst als argumenten op.

De functie wordt aangeroepen met alle items in de lijst en er wordt een nieuwe lijst geretourneerd die items bevat waarvoor de functie evalueert True.

Hier is een voorbeeld van het gebruik van een filter()functie om alleen even getallen uit een lijst te filteren.

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

Uitvoer

 (4, 6, 8, 12)

Voorbeeld gebruik met kaart ()

De map()functie in Python neemt een functie en een lijst op.

De functie wordt aangeroepen met alle items in de lijst en er wordt een nieuwe lijst geretourneerd die items bevat die door die functie voor elk item worden geretourneerd.

Hier is een voorbeeld van het gebruik van een map()functie om alle items in een lijst te verdubbelen.

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

Uitvoer

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

Interessante artikelen...