Funkce Python Lambda (anonymní)

V tomto článku se dozvíte o anonymní funkci, známé také jako funkce lambda. Dozvíte se, jaké jsou, jejich syntaxi a jak je používat (s příklady).

Co jsou funkce lambda v Pythonu?

V Pythonu je anonymní funkce funkce, která je definována bez názvu.

Zatímco normální funkce jsou definovány pomocí defklíčového slova v Pythonu, anonymní funkce jsou definovány pomocí lambdaklíčového slova.

Anonymní funkce se proto nazývají také funkce lambda.

Jak používat funkce lambda v Pythonu?

Funkce lambda v pythonu má následující syntaxi.

Syntaxe funkce Lambda v pythonu

 Argumenty lambda: výraz

Funkce Lambda mohou mít libovolný počet argumentů, ale pouze jeden výraz. Výraz je vyhodnocen a vrácen. Lambda funkce lze použít všude tam, kde jsou požadovány funkční objekty.

Příklad funkce lambda v pythonu

Zde je příklad funkce lambda, která zdvojnásobuje vstupní hodnotu.

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

Výstup

 10

Ve výše uvedeném programu lambda x: x * 2je funkce lambda. Zde x je argument a x * 2je výraz, který se vyhodnotí a vrátí.

Tato funkce nemá název. Vrátí funkční objekt, který je přiřazen k identifikátoru double. Nyní to můžeme nazvat jako normální funkce. Prohlášení

 double = lambda x: x * 2

je téměř stejný jako:

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

Použití funkce Lambda v pythonu

Funkce lambda používáme, když požadujeme po krátkou dobu bezejmennou funkci.

V Pythonu jej obecně používáme jako argument funkce vyššího řádu (funkce, která jako argumenty přijímá jiné funkce). Lambda funkce jsou použity spolu s vestavěnou funkcí rád filter(), map()atd.

Příklad použití s ​​filter ()

filter()Funkce v Pythonu se ve funkci a seznam jako argumenty.

Funkce je volána se všemi položkami v seznamu a je vrácen nový seznam, který obsahuje položky, pro které je funkce vyhodnocena True.

Zde je příklad použití filter()funkce k odfiltrování pouze sudých čísel ze seznamu.

 # 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ýstup

 (4, 6, 8, 12)

Příklad použití s ​​mapou ()

map()Funkce v Pythonu se ve funkci a seznam.

Funkce je volána se všemi položkami v seznamu a je vrácen nový seznam, který obsahuje položky vrácené touto funkcí pro každou položku.

Zde je příklad použití map()funkce pro zdvojnásobení všech položek v seznamu.

 # 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ýstup

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

Zajímavé články...