Sobes.tech
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.