Python

Python Lambda

Python Lambda

Šajā rakstā mēs centīsimies uzzināt par Python Lambda.

Definīcija

Lambda ir funkcija, kas definēta bez nosaukuma. Tam var būt nepieciešami vairāki argumenti, taču ir atļauta tikai viena izteiksme, kas tiek novērtēta un atgriezta. Vietās, kur nepieciešami funkciju objekti, mēs varam izmantot lambda funkciju.

Sintakse:
lambda argumenti: izteiksme

1. piemērs: Zemāk esošo funkciju izmanto, lai aprēķinātu skaitļa kubu.

def kubs (a):
atgriezt * a * a
druka (kubs (3))

Iepriekš minēto funkciju var rakstīt, izmantojot lambda, kā parādīts zemāk:

p = lambda x: x * x * x
drukāt (p (3))

2. piemērs: Zemāk esošo funkciju izmanto, lai aprēķinātu divu skaitļu summu.

def summa_2 (x, y):
atgriezties x + y
izdrukāt (summa_2 (10,20))

Iepriekš minēto funkciju var rakstīt, izmantojot lambda, kā parādīts zemāk:

p = lambda x, y: x + y
drukāt (p (10,20))

3. piemērs: Zemāk esošajā lambda piemērā ir vairāki argumenti.

p = lambda x, y, z: x + y + z
drukāt (p (10, 5, 3))

4. piemērs: Šī funkcija reizina skaitli ar 2, un to var rakstīt, izmantojot funkciju Lambda, kā norādīts zemāk:

def func (n):
atgriezties lambda x: x * n
reizināt_ ar_2 = func (2)
drukāt (reizināt_ ar_2 (11))
drukāt (reizināt_ ar_2 (15))

5. piemērs: Funkcija funkciju uzskata par argumentu un atgriež rezultātu.

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

6. piemērs: Tālāk sniegtajā piemērā vērtību kārtošanai tiek izmantota lambda.

# (vārds, uzvārds, vecums)
dati = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
dati.kārtot (atslēga = lambda x: x [0]) # kārtot pēc nosaukuma
drukāt (dati)
dati = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
dati.kārtot (atslēga = lambda x: x [1]) # kārtot, pamatojoties uz uzvārdu
drukāt (dati)
dati = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
dati.kārtot (atslēga = lambda x: x [2]) # kārtot pēc vecuma
drukāt (dati)

Tagad dodieties uz python3 tulku.

Lambda funkciju izmanto daudzās iebūvētās metodēs. Daži piemēri:

1. Karte

Šī funkcija katru elementu kartē secīgi, izmantojot lambda funkciju.

Sintakse:
karte (funkcija, sekojošais)

Piem .:
nums = [1,2,3,4,5,6]
Šeit mēs reizināsim katru saraksta elementu ar 2.
mul_2 = karte (lambda x: x * 2, nums)
drukāt (saraksts (mul_2)) # Tas atgriež kartes objektu un rakstot to kā sarakstu.

Iepriekš minētajā funkcijā katrs saraksta elements tiek nodots lambda funkcijai, un lambda funkcija to reizinās ar 2.

nums = [1,2,3,4,5,6]
mul_2 = karte (lambda x: x * 2, nums)
izdrukāt (saraksts (mul_2))

2. Filtrēt

Šī funkcija filtrē visus saraksta elementus, kuriem lambda funkcija atgriež vērtību True.

Sintakse:
filtrs (funkcija, sekojošais)

Piem .:
nums = [0,1,2,3,4,5,6,7,8,9,10]
nepāra_numuri = filtrs (lambda x: x% 2, nums)
drukāt (saraksts (nepāra_numuri)) # Tas atgriež kartes objektu un ierakstot to kā sarakstu.

nums = [0,1,2,3,4,5,6,7,8,9,10]
nepāra_numuri = filtrs (lambda x: x% 2, nums)
drukāt (saraksts (nepāra_numuri))

3. Samazināt

Šī funkcija atgriež vienu vērtību, sekvencei piemērojot funkciju func ().

Sintakse:
samazināt (func, sek.)

Piem .:
nums = [0,1,2,3,4,5,6,7,8,9,10]
vērtība = samazināt (lambda x, y: x + y, summas)
drukāt (vērtība)

Iepriekš minētajā sarakstā tas prasīs pirmos 2 elementus un veiks papildinājumu. Pievienošanas rezultāts tiks pievienots trešajam elementam utt. Visbeidzot, tā atgriezīs vienu vērtību.

Piezīme. Šī metode nav pieejama Python3 + versijā.

nums = [0,1,2,3,4,5,6,7,8,9,10]
vērtība = samazināt (lambda x, y: x + y, summas)
drukāt (vērtība)

Secinājums

No šī raksta mēs esam iemācījušies daudzus lambda funkcijas aspektus. Atkarībā no tā, kas programmai nepieciešams, mēs varam to izmantot un uzlabot pitona kodēšanu. To visbiežāk izmanto, lai pārsūtītu argumentus citai funkcijai (piemēram, mēs iepriekš redzējām, kā funkcijas iezīmē, filtrē un samazina).

Noderīgi rīki Linux spēlētājiem
Ja jums patīk spēlēt spēles Linux, iespējams, ka spēļu pieredzes uzlabošanai, iespējams, esat izmantojis tādas lietotnes un utilītprogrammas kā Wine, ...
HD Remastered spēles operētājsistēmai Linux, kurām nekad agrāk nebija Linux laidiena
Daudzi spēļu izstrādātāji un izdevēji nāk klajā ar veco spēļu HD remaster, lai pagarinātu franšīzes darbības laiku. Lūdzu, faniem, kas pieprasa saderī...
Kā izmantot AutoKey, lai automatizētu Linux spēles
AutoKey ir darbvirsmas automatizācijas lietderība operētājsistēmām Linux un X11, kas ieprogrammēta Python 3, GTK un Qt. Izmantojot skriptu un MACRO fu...