Junior
Какво е лямбда израз в Python?
sobes.tech AI
Отговор от AI
Изразът lambda в Python е анонимна функция, дефинирана с ключовата дума lambda. Той има прост синтаксис: lambda arguments: expression.
Основни характеристики:
- Анонимен: Няма име.
- В една линия: Трябва да бъде в една редица код.
- Само едно изразяване: Може да съдържа само едно изразяване, чийто резултат се връща.
- Може да приема всяко количество аргументи: Но само едно изразяване.
Примери за използване:
# Прост lambda израз за удвояване на число
double = lambda x: x * 2
# Използване:
# print(double(5)) # Ще изведе 10
# Lambda израз с няколко аргумента
add = lambda a, b: a + b
# Използване:
# print(add(3, 7)) # Ще изведе 10
# Използване на lambda с функции от по-висок ред
# Например, filter()
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
# print(even_numbers) # Ще изведе [2, 4, 6]
# Използване на lambda с map()
squared_numbers = list(map(lambda x: x**2, numbers))
# print(squared_numbers) # Ще изведе [1, 4, 9, 16, 25, 36]
# Използване на lambda като аргумент за ключ в 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) # Ще изведе сортиран списък по възраст
Lambda изразите са полезни за малки, еднократни функции, често използвани в комбинация с функции от по-висок ред (map, filter, sorted). Въпреки това, за по-сложни задачи или функции, които изискват документация (docstrings), се препоръчва използването на обикновени функции, дефинирани с def.