Python

Python Lambda

Python Lambda

In dit artikel zullen we proberen meer te weten te komen over Python Lambda.

Definitie

Lambda is een functie gedefinieerd zonder naam. Dit kan meerdere argumenten bevatten, maar er is slechts één expressie toegestaan ​​die wordt geëvalueerd en geretourneerd. Waar functie-objecten vereist zijn, kunnen we de lambda-functie gebruiken.

Syntaxis:
lambda-argumenten: expressie

Voorbeeld 1: De onderstaande functie wordt gebruikt om de derde macht van een getal te berekenen.

def kubus(a):
retourneer a*a*a
print(kubus(3))

De bovenstaande functie kan worden geschreven met behulp van lambda, zoals hieronder weergegeven:

p = lambda x : x*x*x
afdrukken(p(3))

Voorbeeld 2: De onderstaande functie wordt gebruikt om de som van twee getallen te berekenen.

def sum_2(x,y):
retourneer x + y
print(sum_2(10,20))

De bovenstaande functie kan worden geschreven met behulp van lambda, zoals hieronder weergegeven:

p = lambda x,y : x + y
afdrukken(p(10,20))

Voorbeeld 3: Het onderstaande voorbeeld voor lambda heeft meerdere argumenten:.

p = lambda x, y, z : x + y + z
afdrukken(p(10, 5, 3))

Voorbeeld 4: Deze functie vermenigvuldigt het getal met 2 en kan worden geschreven met de Lambda-functie zoals hieronder:

def func(n):
retour lambda x : x * n
vermenigvuldig_bij_2 = func(2)
print(multiply_by_2(11))
print(multiply_by_2(15))

Voorbeeld 5: De functie neemt functie als argument en retourneert het resultaat.

function_argument = lambda p, f: p + f(p)
print(function_argument(5, lambda p: p * p))
print(function_argument(10, lambda x: x - 3))
print(function_argument(10, lambda x: x + 5))
print(function_argument(10, lambda x: x / 5))

Voorbeeld 6: In het onderstaande voorbeeld wordt lambda gebruikt om de waarden te sorteren.

#(naam,achternaam,leeftijd)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
gegevens.sort(key=lambda x:x[0])#sorteer op naam
afdrukken(gegevens)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
gegevens.sort(key=lambda x:x[1])#sorteer op achternaam
afdrukken(gegevens)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
gegevens.sort(key=lambda x:x[2])#sorteer op basis van leeftijd
afdrukken(gegevens)

Ga nu naar de python3-interpreter.

De lambda-functie wordt in veel ingebouwde methoden gebruikt. Hier volgen enkele voorbeelden:

1. Kaart

Deze functie brengt elk element in volgorde in kaart met behulp van de lambda-functie.

Syntaxis:
kaart(functie, volgende)

Ex:
aantal = [1,2,3,4,5,6]
Hier vermenigvuldigen we elk element in de lijst met 2.
mul_2 = kaart(lambda x: x*2, nums)
print(list(mul_2)) # Het retourneert een kaartobject en typt het als lijst.

In de bovenstaande functie wordt elk element van de lijst doorgegeven aan de lambda-functie en de lambda-functie vermenigvuldigt het met 2.

aantal = [1,2,3,4,5,6]
mul_2 = kaart (lambda x: x*2, nums)
print(lijst(mul_2))

2. Filter

Deze functie filtert alle elementen uit een lijst waarvoor de lambda-functie True retourneert.

Syntaxis:
filter(functie, volgende)

Ex:
aantal = [0,1,2,3,4,5,6,7,8,9,10]
odd_nums = filter(lambda x: x % 2, nums)
print(list(odd_nums)) # Het retourneert een kaartobject en typt het als lijst.

aantal = [0,1,2,3,4,5,6,7,8,9,10]
odd_nums = filter(lambda x: x % 2, nums)
print(lijst(oneven_getallen))

3. Verminderen

Deze functie retourneert een enkele waarde door de functie func() toe te passen op de seq.

Syntaxis:
verminderen (func, seq)

Ex:
aantal = [0,1,2,3,4,5,6,7,8,9,10]
waarde = reduce(lambda x,y: x+y, nums)
print(waarde)

In de bovenstaande lijst zijn de eerste 2 elementen nodig en wordt de optelling uitgevoerd. Het resultaat van een toevoeging wordt toegevoegd aan het derde element, enzovoort. Ten slotte zal het een enkele waarde retourneren.

Opmerking: deze methode is niet beschikbaar in de python3+-versie.

aantal = [0,1,2,3,4,5,6,7,8,9,10]
waarde = reduce(lambda x,y: x+y, nums)
print(waarde)

Conclusie

Uit dit artikel hebben we veel aspecten van de lambda-functie geleerd. Afhankelijk van wat het programma nodig heeft, kunnen we het gebruiken en betere python-codering maken. Dit wordt meestal gebruikt om argumenten door te geven aan een andere functie (we hebben bijvoorbeeld bovenstaande functies gezien: map, filter en reduce).

Beste opdrachtregelspellen voor Linux
De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...
Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...
Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...