„Python“

„Python Lambda“

„Python Lambda“

Šiame straipsnyje bandysime sužinoti apie „Python Lambda“.

Apibrėžimas

Lambda yra funkcija, apibrėžta be pavadinimo. Tam gali prireikti kelių argumentų, tačiau leidžiama tik viena išraiška, kuri yra įvertinta ir grąžinama. Ten, kur reikalingi funkcijos objektai, galime naudoti lambda funkciją.

Sintaksė:
lambda argumentai: išraiška

1 pavyzdys: Žemiau pateikta funkcija naudojama skaičiuoti kubą.

def kubas (a):
grąžinti a * a * a
spausdinti (kubas (3))

Pirmiau pateiktą funkciją galima parašyti naudojant lambda, kaip parodyta žemiau:

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

2 pavyzdys: Žemiau pateikta funkcija naudojama dviejų skaičių sumai apskaičiuoti.

def suma_2 (x, y):
grąžinti x + y
spausdinti (suma_2 (10,20))

Pirmiau pateiktą funkciją galima parašyti naudojant lambda, kaip parodyta žemiau:

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

3 pavyzdys: Žemiau pateiktame lambda pavyzdyje pateikiami keli argumentai.

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

4 pavyzdys: Ši funkcija padaugina skaičių iš 2 ir gali būti parašyta naudojant „Lambda“ funkciją taip:

def func (n):
grįžkite lambda x: x * n
dauginti_by_2 = func (2)
spausdinti (padauginti_kartu_2 (11))
spausdinti (padauginti_kartu_2 (15))

5 pavyzdys: Funkcija ima funkciją kaip argumentą ir grąžina rezultatą.

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

6 pavyzdys: Žemiau pateiktame pavyzdyje reikšmėms rūšiuoti naudojama lambda.

# (vardas, pavardė, amžius)
duomenys = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
duomenis.rūšiuoti (raktas = lambda x: x [0]) # rūšiuoti pagal pavadinimą
spausdinti (duomenys)
duomenys = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
duomenis.rūšiuoti (raktas = lambda x: x [1]) # rūšiuoti pagal pavardę
spausdinti (duomenys)
duomenys = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
duomenis.rūšiuoti (raktas = lambda x: x [2]) # rūšiuoti pagal amžių
spausdinti (duomenys)

Dabar eikite į python3 vertėją.

Lambda funkcija naudojama daugelyje integruotų metodų. Toliau pateikiami keli pavyzdžiai:

1. Žemėlapis

Ši funkcija atvaizduoja kiekvieną elementą iš eilės naudodama lambda funkciją.

Sintaksė:
žemėlapis (funkcija, seka)

Pvz .:
nums = [1,2,3,4,5,6]
Čia padauginsime kiekvieną sąrašo elementą iš 2.
mul_2 = žemėlapis (lambda x: x * 2, skaičiai)
spausdinti (sąrašas (mul_2)) # Grąžina žemėlapio objektą ir rašo jį kaip sąrašą.

Pagal pirmiau pateiktą funkciją kiekvienas sąrašo elementas perduodamas lambda funkcijai, o lambda funkcija ją padaugins iš 2.

nums = [1,2,3,4,5,6]
mul_2 = žemėlapis (lambda x: x * 2, skaičiai)
spausdinti (sąrašas (mul_2))

2. Filtras

Ši funkcija filtruoja visus sąrašo elementus, kuriems „lambda“ funkcija grąžina „True“.

Sintaksė:
filtras (funkcija, seka)

Pvz .:
nums = [0,1,2,3,4,5,6,7,8,9,10]
nelyginiai_sumai = filtras (lambda x: x% 2, nums)
spausdinti (sąrašas (nelyginiai_skaitos)) # Grąžina žemėlapio objektą ir rašo jį kaip sąrašą.

nums = [0,1,2,3,4,5,6,7,8,9,10]
nelyginiai_sumai = filtras (lambda x: x% 2, nums)
spausdinti (sąrašas (nelyginiai_skaitos))

3. Sumažinti

Ši funkcija grąžina vieną reikšmę, taikant seką funkcija func ().

Sintaksė:
sumažinti (func, sek.)

Pvz .:
nums = [0,1,2,3,4,5,6,7,8,9,10]
reikšmė = sumažinti (lambda x, y: x + y, nums)
spausdinti (vertė)

Pirmiau pateiktame sąraše jis atliks pirmuosius 2 elementus ir atliks papildymą. Papildymo rezultatas bus pridėtas prie trečiojo elemento ir pan. Galiausiai ji grąžins vieną vertę.

Pastaba: šio metodo negalima naudoti python3 + versijoje.

nums = [0,1,2,3,4,5,6,7,8,9,10]
reikšmė = sumažinti (lambda x, y: x + y, nums)
spausdinti (vertė)

Išvada

Iš šio straipsnio sužinojome daugybę lambda funkcijos aspektų. Priklausomai nuo to, ko reikia programai, galime ją naudoti ir pagerinti pitono kodavimą. Tai dažniausiai naudojama argumentams perduoti kitai funkcijai (pavyzdžiui, aukščiau išvardintose funkcijose matėme žemėlapius, filtrus ir redukcijas).

Geriausi „Linux“ žaidimų distristai 2021 m
„Linux“ operacinė sistema nuėjo ilgą kelią nuo originalios, paprastos, serverio išvaizdos. Ši OS pastaraisiais metais nepaprastai patobulėjo ir dabar ...
Kaip užfiksuoti ir perduoti savo žaidimų sesiją sistemoje „Linux“
Anksčiau žaidimai buvo laikomi tik pomėgiu, tačiau laikui bėgant lošimų pramonė labai augo technologijų ir žaidėjų skaičiaus atžvilgiu. Žaidimų audito...
Geriausi žaidimai, kuriuos reikia žaisti naudojant rankos stebėjimą
„Oculus Quest“ neseniai pristatė puikią rankos stebėjimo be valdiklių idėją. „Oculus Quest“ rankų sekimo žaidimai iki šiol buvo ribojami, kai žaidimų ...