Junior
Čo je lambda výraz v Pythone?
sobes.tech AI
Odpoveď od AI
Výraz lambda v Pythone je anonymná funkcia definovaná pomocou kľúčového slova lambda. Má jednoduchú syntax:
- Anonymná: Nemá meno.
- Na jeden riadok: Musí byť na jednom riadku kódu.
- Len jeden výraz: Môže obsahovať iba jeden výraz, ktorého výsledok sa vráti.
- Môže prijať akýkoľvek počet argumentov: Ale iba jeden výraz.
Príklady použitia:
# Jednoduchá lambda funkcia na zdvojnásobenie čísla
double = lambda x: x * 2
# Použitie:
# print(double(5)) # Vypíše 10
# Lambda funkcia s viacerými argumentmi
add = lambda a, b: a + b
# Použitie:
# print(add(3, 7)) # Vypíše 10
# Použitie lambda s funkciami vyššieho radu
# Napríklad, filter()
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
# print(even_numbers) # Vypíše [2, 4, 6]
# Použitie lambda s map()
squared_numbers = list(map(lambda x: x**2, numbers))
# print(squared_numbers) # Vypíše [1, 4, 9, 16, 25, 36]
# Použitie lambda ako argument pre kľúč 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) # Vypíše zoradený zoznam podľa veku
Lambda výrazy sú užitočné pre malé, jednorazové funkcie, často používané v kombinácii s funkciami vyššieho radu (map, filter, sorted). Avšak, pre zložitejšie úlohy alebo funkcie, ktoré vyžadujú dokumentáciu (docstrings), sa odporúča používať bežné funkcie definované pomocou def.