Назад к вопросам
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.