← Назад ко всем вопросам

Что такое лямбда-функции?

1️⃣ Как кратко ответить

Лямбда-функции в Python — это анонимные функции, которые создаются с помощью ключевого слова lambda. Они могут содержать только одно выражение и возвращают его результат. Используются для создания небольших, одноразовых функций, часто в качестве аргументов для других функций, таких как map, filter и sorted.

2️⃣ Подробное объяснение темы

Лямбда-функции в Python — это способ создания небольших, анонимных функций, которые не требуют явного определения с помощью def. Они полезны, когда нужна простая функция, которую не планируется использовать повторно. Лямбда-функции создаются с помощью ключевого слова lambda, за которым следуют параметры, двоеточие и выражение, результат которого будет возвращен.

Зачем нужны лямбда-функции?

Лямбда-функции позволяют писать более компактный и читаемый код, особенно когда функция используется только один раз. Они часто применяются в функциональном программировании, где функции передаются как аргументы другим функциям.

Как работают лямбда-функции?

Лямбда-функции создаются с помощью следующего синтаксиса:

lambda arguments: expression
  • lambda — ключевое слово для создания лямбда-функции.
  • arguments — список параметров, которые принимает функция.
  • expression — единственное выражение, результат которого будет возвращен.

Пример использования

Рассмотрим пример, где лямбда-функция используется для сортировки списка кортежей по второму элементу:

# Список кортежей, где каждый кортеж состоит из двух элементов
data = [(1, 2), (3, 1), (5, 0)]
​
# Сортировка списка по второму элементу каждого кортежа
sorted_data = sorted(data, key=lambda x: x[1])
​
# Вывод отсортированного списка
print(sorted_data)  # Вывод: [(5, 0), (3, 1), (1, 2)]
  • data — список кортежей, который нужно отсортировать.
  • sorted — встроенная функция Python для сортировки.
  • key=lambda x: x[1] — лямбда-функция, которая принимает один аргумент x (кортеж) и возвращает его второй элемент x[1]. Эта функция используется для определения ключа сортировки.
  • sorted_data — результат сортировки, который выводится на экран.

Применение в других функциях

Лямбда-функции часто используются с такими функциями, как map, filter и reduce:

  • map(function, iterable) — применяет функцию к каждому элементу итерируемого объекта.
  • filter(function, iterable) — фильтрует элементы, оставляя только те, для которых функция возвращает True.
  • reduce(function, iterable) — применяет функцию к элементам итерируемого объекта, сводя его к единственному значению.

Пример использования map с лямбда-функцией:

# Список чисел
numbers = [1, 2, 3, 4]
​
# Увеличение каждого числа на 1 с помощью map и лямбда-функции
incremented_numbers = list(map(lambda x: x + 1, numbers))
​
# Вывод результата
print(incremented_numbers)  # Вывод: [2, 3, 4, 5]
  • numbers — список чисел, которые нужно увеличить.
  • map(lambda x: x + 1, numbers) — применяет лямбда-функцию lambda x: x + 1 к каждому элементу списка numbers.
  • incremented_numbers — результат применения функции map, который выводится на экран.

Тема: Python
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки