Junior
Co je to lambda výraz v Pythonu?
sobes.tech AI
Odpověď od AI
Výraz lambda v Pythonu je anonymní funkce definovaná pomocí klíčového slova lambda. Má jednoduchou syntax:
- Anonymní: Nem má jméno.
- Na jeden řádek: Musí být na jednom řádku kódu.
- Pouze jeden výraz: Může obsahovat pouze jeden výraz, jehož výsledek je vrácen.
- Může přijmout libovolný počet argumentů: Ale pouze jeden výraz.
Příklady použití:
# Jednoduchá lambda funkce pro zdvojení čísla
double = lambda x: x * 2
# Použití:
# print(double(5)) # Vytiskne 10
# Lambda funkce s více argumenty
add = lambda a, b: a + b
# Použití:
# print(add(3, 7)) # Vytiskne 10
# Použití lambda s funkcemi vyššího řádu
# Například, filter()
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
# print(even_numbers) # Vytiskne [2, 4, 6]
# Použití lambda s map()
squared_numbers = list(map(lambda x: x**2, numbers))
# print(squared_numbers) # Vytiskne [1, 4, 9, 16, 25, 36]
# Použití lambda jako argumentu pro klíč v sorted()
data = [{'name': 'Alice', 'age': 30}, {'name': 'Bob', 'age': 25}]
sorted_data_by_age = sorted(data, key=lambda item: item['age'])
# print(sorted_data_by_age) # Vytiskne seřazený seznam podle věku
Lambda výrazy jsou užitečné pro malé, jednorázové funkce, často používané ve spojení s funkcemi vyššího řádu (map, filter, sorted). Nicméně, pro složitější úkoly nebo funkce vyžadující dokumentaci (docstrings) se doporučuje používat běžné funkce definované pomocí def.