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