Funkcia Python Lambda (anonymná)

V tomto článku sa dozviete o anonymnej funkcii známej tiež ako lambda funkcie. Dozviete sa, čo to je, ich syntax a ako ich používať (s príkladmi).

Čo sú funkcie lambda v Pythone?

V Pythone je anonymná funkcia funkcia, ktorá je definovaná bez názvu.

Zatiaľ čo normálne funkcie sú definované pomocou defkľúčového slova v Pythone, anonymné funkcie sú definované pomocou lambdakľúčového slova.

Anonymné funkcie sa preto nazývajú aj funkcie lambda.

Ako používať lambda funkcie v Pythone?

Funkcia lambda v pythone má nasledujúcu syntax.

Syntax funkcie lambda v pythone

 argumenty lambda: výraz

Funkcie lambda môžu mať ľubovoľný počet argumentov, ale iba jeden výraz. Výraz sa vyhodnotí a vráti. Funkcie lambda je možné použiť všade tam, kde sú požadované funkčné objekty.

Príklad funkcie lambda v pythone

Tu je príklad funkcie lambda, ktorá zdvojnásobuje vstupnú hodnotu.

 # Program to show the use of lambda functions double = lambda x: x * 2 print(double(5))

Výkon

 10

Vo vyššie uvedenom programe lambda x: x * 2je funkcia lambda. Tu je x argument a x * 2výraz, ktorý sa vyhodnotí a vráti.

Táto funkcia nemá názov. Vráti funkčný objekt, ktorý je priradený k identifikátoru double. Teraz to môžeme nazvať ako normálnu funkciu. Výkaz

 double = lambda x: x * 2

je takmer rovnaké ako:

 def double (x): návrat x * 2

Použitie funkcie lambda v pythone

Funkcie lambda používame, keď požadujeme na krátky čas bezmennú funkciu.

V Pythone ho všeobecne používame ako argument funkcie vyššieho rádu (funkcia, ktorá prijíma ďalšie funkcie ako argumenty). Lambda funkcie sú použité spolu s vstavanou funkciou rád filter(), map()atď.

Príklad použitia s filter ()

filter()Funkcie v Pythone sa vo funkcii a zoznam ako argumenty.

Funkcia sa volá so všetkými položkami v zozname a vráti sa nový zoznam, ktorý obsahuje položky, pre ktoré sa funkcia vyhodnotí True.

Tu je príklad použitia filter()funkcie na filtrovanie iba párnych čísel zo zoznamu.

 # Program to filter out only the even items from a list my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(filter(lambda x: (x%2 == 0) , my_list)) print(new_list)

Výkon

 (4, 6, 8, 12)

Príklad použitia s mapou ()

map()Funkcie v Pythone sa vo funkcii a zoznam.

Funkcia sa volá so všetkými položkami v zozname a vráti sa nový zoznam, ktorý obsahuje položky vrátené touto funkciou pre každú položku.

Tu je príklad použitia map()funkcie na zdvojnásobenie všetkých položiek v zozname.

 # Program to double each item in a list using map() my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(map(lambda x: x * 2 , my_list)) print(new_list)

Výkon

 (2, 10, 8, 12, 16, 22, 6, 24)

Zaujímavé články...