lambda
.
Она принимает любое количество аргументов, но может содержать только одно выражение.
Часто используется для создания простых функций, передаваемых в качестве аргументов другим функциям (например, map
, filter
, sorted
).
Пример: lambda x, y: x + y
(функция, возвращающая сумму двух аргументов).
Лямбда-выражение в Python – это анонимная функция, то есть функция, не имеющая имени. Оно определяется с помощью ключевого слова lambda
и может принимать любое количество аргументов, но возвращает только одно выражение. Лямбда-выражения полезны для создания простых, коротких функций, которые используются один раз или передаются в качестве аргументов другим функциям, например, в map()
, filter()
или sorted()
.
Синтаксис:
lambda arguments: expression
Где:
lambda
- ключевое слово для определения лямбда-выражения.arguments
- список аргументов, разделенных запятыми (может быть пустым).expression
- выражение, которое вычисляется и возвращается лямбда-функцией.Примеры:
Простейший пример:
# Лямбда-функция, возвращающая сумму двух чисел
add = lambda x, y: x + y
print(add(5, 3)) # Вывод: 8
Использование с map()
:
numbers = [1, 2, 3, 4, 5]
# Умножаем каждый элемент списка на 2 с помощью лямбда-функции
squared_numbers = list(map(lambda x: x * 2, numbers))
print(squared_numbers) # Вывод: [2, 4, 6, 8, 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]
Использование с sorted()
:
points = [(1, 2), (3, 0), (0, 8), (5, 1)]
# Сортируем список точек по второму элементу (y-координате)
sorted_points = sorted(points, key=lambda point: point[1])
print(sorted_points) # Вывод: [(3, 0), (5, 1), (1, 2), (0, 8)]
Важные моменты: