Lambda-функции (анонимные функции) в Python — это способ создания небольших, одноразовых функций без явного использования ключевого слова def
. Они полезны в ситуациях, когда требуется простая функция на короткий срок, и нет необходимости создавать полноценную именованную функцию.
Синтаксис lambda-функции выглядит следующим образом:
lambda аргументы: выражение
аргументы
: Перечень аргументов, которые принимает функция.выражение
: Вычисляемое выражение, результат которого возвращается как результат функции.Пример:
add = lambda x, y: x + y
print(add(2, 3)) # Вывод: 5
Здесь add
— это lambda-функция, которая принимает два аргумента x
и y
и возвращает их сумму.
map
, filter
и sorted
.Lambda-функции часто используются для настройки сортировки. Например, сортировка списка кортежей по второму элементу:
data = [(1, 3), (4, 1), (2, 2)]
sorted_data = sorted(data, key=lambda x: x[1])
print(sorted_data) # Вывод: [(4, 1), (2, 2), (1, 3)]
Здесь key=lambda x: x[1]
указывает, что сортировка должна выполняться по второму элементу кортежа.
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 x: x % 2 == 0
проверяет, является ли число четным.
С помощью map
и lambda-функции можно применить операцию ко всем элементам списка:
numbers = [1, 2, 3, 4]
squared_numbers = list(map(lambda x: x ** 2, numbers))
print(squared_numbers) # Вывод: [1, 4, 9, 16]
Здесь lambda x: x ** 2
возводит каждый элемент списка в квадрат.
map
, filter
, sorted
и другими функциями, принимающими функции как аргументы.Lambda-функции — это удобный инструмент для создания анонимных функций в Python. Они идеально подходят для простых, одноразовых операций и часто используются в сочетании с функциями высшего порядка. Однако для сложной логики лучше использовать обычные именованные функции, чтобы сохранить читаемость кода.