⊗pyPmFnLa 16 of 129 menu

Lambda-functie in Python

Stel we hebben een functie func, die als parameters een lijst en een callback accepteert. De functie zal een nieuwe lijst maken van de elementen van de oorspronkelijke lijst. Hierbij wordt de callback toegepast op elk van de elementen:

def func(lst, callback): res = [] for el in lst: res.append(callback(el)) return res

Laten we nu een functie square maken, die het doorgegeven getal zal kwadrateren:

def square(num): return num ** 2

Laten we aan de parameters van func een numerieke lijst en de functie square doorgeven als callback:

print( func([1, 2, 3], square) )

Er wordt een nieuwe lijst naar de console uitgevoerd, bestaande uit de kwadraten van de getallen:

[1, 4, 9]

Deze code kan echter aanzienlijk worden ingekort door gebruik te maken van een lambda-functie - een anonieme functie, die wordt aangeroepen met behulp van het sleutelwoord lambda en in één regel wordt geschreven. Daarom kunnen in een lambda-functie alleen functies worden herschreven waarvan de code één regel beslaat.

De syntaxis van een lambda-functie ziet er als volgt uit:

lambda parameter van de functie: bewerking met parameter van de functie

Laten we de functie square herschrijven met behulp van een lambda-functie en deze doorgeven aan de parameter func:

print( func([1, 2, 3], lambda num: num ** 2) )

Een lambda-functie kan in een variabele worden geschreven:

square = lambda num: num ** 2 print( func([1, 2, 3], square) )

Herschrijf de volgende code met een lambda-functie:

def func(num, clb): return clb(num) def clb(num): return num + 1 print( func(2, clb) )

Herschrijf de volgende code met een lambda-functie:

def func(num, clb1, clb2): return (clb1(num), clb2(num)) def clb1(num): return num + 1 def clb2(num): return num - 1 print( func(2, clb1, clb2) )

Herschrijf de volgende code met een lambda-functie:

def func(num1, num2, clb): res = clb(num1) + num2 return res def clb(num): return num ** 3 print(func(2, 6, clb))
Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren