Pytonorm

Python Lambda

Python Lambda

I den här artikeln kommer vi att försöka lära oss mer om Python Lambda.

Definition

Lambda är en funktion definierad utan namn. Detta kan ta flera argument, men endast ett uttryck är tillåtet som utvärderas och returneras. Där funktionsobjekt krävs kan vi använda lambdafunktionen.

Syntax:
lambda argument: uttryck

Exempel 1: Funktionen nedan används för att beräkna kuben för ett tal.

def kub (a):
returnera a * a * a
tryck (kub (3))

Ovanstående funktion kan skrivas med lambda, som visas nedan:

p = lambda x: x * x * x
skriva ut (p (3))

Exempel 2: Funktionen nedan används för att beräkna summan av två nummer.

def sum_2 (x, y):
returnera x + y
skriv ut (sum_2 (10,20))

Ovanstående funktion kan skrivas med lambda, som visas nedan:

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

Exempel 3: Exemplet nedan för lambda tar flera argument.

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

Exempel 4: Denna funktion multiplicerar antalet med 2 och kan skrivas med Lambda-funktionen enligt nedan:

def func (n):
retur lambda x: x * n
multiplicera_by_2 = funk (2)
skriv ut (multiplicera_by_2 (11))
skriv ut (multiplicera_by_2 (15))

Exempel 5: Funktionen tar funktionen som ett argument och returnerar resultatet.

funktionsargument = lambda p, f: p + f (p)
skriva ut (funktionsargument (5, lambda p: p * p))
skriva ut (funktionsargument (10, lambda x: x - 3))
skriv ut (funktionsargument (10, lambda x: x + 5))
skriva ut (funktionsargument (10, lambda x: x / 5))

Exempel 6: I exemplet nedan används lambda för att sortera värdena.

# (namn, efternamn, ålder)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
data.sortera (nyckel = lambda x: x [0]) # sortera baserat på namn
skriva ut (data)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
data.sortera (nyckel = lambda x: x [1]) # sortera baserat på efternamn
skriva ut (data)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
data.sortera (nyckel = lambda x: x [2]) # sortera baserat på ålder
skriva ut (data)

Gå nu till python3-tolk.

Lambda-funktionen används i många inbyggda metoder. Följande är några exempel:

1. Karta

Denna funktion kartlägger varje element i sekvens med lambdafunktionen.

Syntax:
karta (funktion, seq)

Ex:
nummer = [1,2,3,4,5,6]
Här multiplicerar vi varje element i listan med 2.
mul_2 = karta (lambda x: x * 2, nums)
skriv ut (lista (mul_2)) # Det returnerar kartobjekt och skriver det som lista.

I ovanstående funktion överförs varje element i listan till lambdafunktionen och lambdafunktionen multiplicerar den med 2.

nummer = [1,2,3,4,5,6]
mul_2 = karta (lambda x: x * 2, nums)
skriva ut (lista (mul_2))

2. Filtrera

Denna funktion filtrerar bort alla element i en lista som lambdafunktionen returnerar True för.

Syntax:
filter (funktion, seq)

Ex:
nums = [0,1,2,3,4,5,6,7,8,9,10]
udda_nummer = filter (lambda x: x% 2, nummer)
print (list (odd_nums)) # Det returnerar kartobjekt och skriver fram det som en lista.

nums = [0,1,2,3,4,5,6,7,8,9,10]
odd_nums = filter (lambda x: x% 2, nums)
skriv ut (lista (udda_nummer))

3. Minska

Den här funktionen returnerar ett enda värde genom att använda funktionsfunktionen () till sekvensen.

Syntax:
minska (funk, seq)

Ex:
nums = [0,1,2,3,4,5,6,7,8,9,10]
värde = minska (lambda x, y: x + y, nums)
skriva ut (värde)

I listan ovan tar de två första elementen och utför tillägg. Resultatet av ett tillägg läggs till det tredje elementet och så vidare. Slutligen kommer den att returnera ett enda värde.

Obs! Den här metoden är inte tillgänglig i python3 + -versionen.

nums = [0,1,2,3,4,5,6,7,8,9,10]
värde = minska (lambda x, y: x + y, nums)
skriva ut (värde)

Slutsats

Från den här artikeln har vi lärt oss många aspekter av lambdafunktionen. Beroende på vad programmet behöver kan vi använda det och göra bättre pythonkodning. Detta används oftast för att skicka argument till en annan funktion (till exempel har vi sett ovan funktioner kartlägga, filtrera och minska).

HD Remastered Games för Linux som aldrig tidigare hade en Linux-version
Många spelutvecklare och utgivare kommer med HD-remaster av gamla spel för att förlänga livstiden för franchisen, snälla fans som begär kompatibilitet...
Hur man använder AutoKey för att automatisera Linux-spel
AutoKey är ett verktyg för desktopautomatisering för Linux och X11, programmerat i Python 3, GTK och Qt. Med hjälp av dess skript och MACRO-funktional...
Hur man visar FPS-räknare i Linux-spel
Linux-spel fick ett stort tryck när Valve tillkännagav Linux-stöd för Steam-klient och deras spel 2012. Sedan dess har många AAA- och indiespel tagit ...