Python

Python Lambda

Python Lambda

V tomto článku sa pokúsime dozvedieť niečo o Python Lambda.

Definícia

Lambda je funkcia definovaná bez názvu. Môže to trvať viac argumentov, ale je povolený iba jeden výraz, ktorý je vyhodnotený a vrátený. Tam, kde sú požadované funkčné objekty, môžeme použiť funkciu lambda.

Syntax:
argumenty lambda: výraz

Príklad 1: Nasledujúca funkcia sa používa na výpočet kocky čísla.

def kocka (a):
vrátiť * a * a
tlač (kocka (3))

Vyššie uvedenú funkciu je možné zapísať pomocou príkazu lambda, ako je uvedené nižšie:

p = lambda x: x * x * x
tlačiť (p (3))

Príklad 2: Nasledujúca funkcia sa používa na výpočet súčtu dvoch čísel.

def sum_2 (x, y):
návrat x + r
tlač (sum_2 (10,20))

Vyššie uvedenú funkciu je možné zapísať pomocou príkazu lambda, ako je uvedené nižšie:

p = lambda x, y: x + y
tlačiť (p (10,20))

Príklad 3: Nasledujúci príklad pre lambda má niekoľko argumentov.

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

Príklad 4: Táto funkcia vynásobí číslo 2 a dá sa zapísať pomocou funkcie Lambda, ako je uvedené nižšie:

def func (n):
vrátiť lambda x: x * n
multiply_by_2 = func (2)
print (multiply_by_2 (11))
tlačiť (multiply_by_2 (15))

Príklad 5: Funkcia vezme funkciu ako argument a vráti výsledok.

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))

Príklad 6: V nasledujúcom príklade sa na zoradenie hodnôt používa lambda.

# (meno, priezvisko, vek)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
údaje.sort (key = lambda x: x [0]) # zoradiť podľa názvu
tlač (údaje)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
údaje.sort (key = lambda x: x [1]) # zoradiť podľa priezviska
tlač (údaje)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
údaje.sort (key = lambda x: x [2]) # zoradiť podľa veku
tlač (údaje)

Teraz choďte do tlmočníka python3.

Funkcia lambda sa používa v mnohých zabudovaných metódach. Nasleduje niekoľko príkladov:

1. Mapa

Táto funkcia mapuje každý prvok v poradí pomocou funkcie lambda.

Syntax:
mapa (funkcia, seq)

Príklad:
čísla = [1,2,3,4,5,6]
Tu vynásobíme každý prvok v zozname číslom 2.
mul_2 = mapa (lambda x: x * 2, čísla)
print (list (mul_2)) # Vráti mapový objekt a text ho obsadí ako zoznam.

Vo vyššie uvedenej funkcii je každý prvok zoznamu odovzdaný funkcii lambda a funkcia lambda ju vynásobí 2.

čísla = [1,2,3,4,5,6]
mul_2 = mapa (lambda x: x * 2, čísla)
tlač (zoznam (mul_2))

2. Filtrovať

Táto funkcia odfiltruje všetky prvky zoznamu, pre ktoré funkcia lambda vráti hodnotu True.

Syntax:
filter (funkcia, seq)

Príklad:
čísla = [0,1,2,3,4,5,6,7,8,9,10]
nepárne_čísla = filter (lambda x: x% 2, čísla)
print (list (odd_nums)) # Vracia mapový objekt a vysiela ho ako zoznam.

čísla = [0,1,2,3,4,5,6,7,8,9,10]
nepárne_čísla = filter (lambda x: x% 2, čísla)
tlač (zoznam (nepárne_čísla))

3. Znížiť

Táto funkcia vráti jednu hodnotu uplatnením funkcie func () na nasledujúce.

Syntax:
znížiť (func, seq)

Príklad:
čísla = [0,1,2,3,4,5,6,7,8,9,10]
hodnota = zmenšiť (lambda x, y: x + y, čísla)
print (hodnota)

Vo vyššie uvedenom zozname zaberie prvé 2 prvky a vykoná sčítanie. Výsledok pridania sa pridá k tretiemu prvku atď. Nakoniec vráti jednu hodnotu.

Poznámka: Táto metóda nie je k dispozícii vo verzii python3 +.

čísla = [0,1,2,3,4,5,6,7,8,9,10]
hodnota = zmenšiť (lambda x, y: x + y, čísla)
print (hodnota)

Záver

Z tohto článku sme sa dozvedeli veľa aspektov funkcie lambda. Podľa toho, čo program potrebuje, ho môžeme použiť a vytvoriť lepšie pythonovské kódovanie. Najčastejšie sa to používa na odovzdanie argumentov inej funkcii (napríklad vyššie sme videli funkcie mapovať, filtrovať a redukovať).

Recenzia bezdrôtovej myši Microsoft Sculpt Touch
Nedávno som čítal o Microsoft Sculpt Touch bezdrôtová myš a rozhodol sa ju kúpiť. Po chvíli používania som sa rozhodol s ním podeliť o svoje skúsenost...
Trackpad a ukazovateľ myši AppyMouse na obrazovke pre tablety so systémom Windows
Používateľom tabletov často chýba ukazovateľ myši, najmä keď notebooky bežne používajú. Dotykové smartphony a tablety majú veľa výhod a jediným obmedz...
Stredné tlačidlo myši nefunguje v systéme Windows 10
The stredné tlačidlo myši pomáha vám prechádzať dlhé webové stránky a obrazovky s množstvom údajov. Ak sa to zastaví, budete nakoniec používať klávesn...