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í def
klíčového slova v Pythonu, anonymní funkce jsou definovány pomocí lambda
klíč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 * 2
je funkce lambda. Zde x je argument a x * 2
je 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)