Что такое лямбда-функции
Это анонимные функции. Они не резервируют имени в пространстве имен. Лямбды часто передают в функции map
, reduce
, filter
.
Лямбды в Питоне могут состоять только из одного выражения. Используя синтаксис скобок, можно оформить тело лямбды в несколько строк.
Использовать точку с запятой для разделения операторов нельзя.
Oct. 10, 2023, Источник
Лямбда-функция в Python используется для создания анонимной функции, которая может принимать любое количество аргументов, но может иметь только одно выражение.
Лямбда-функция не содержит блока инструкций. Она также не содержит операторов возврата. Обычно используется в ситуациях, когда требуется анонимная функция в течение короткого периода времени.
double = lambda x: x*2
print(double(5)) # 10
Кейсы использования.
В Python мы часто используем их как аргумент функции высшего порядка (функции, которая принимает другие функции в качестве аргументов). Лямбда-функции используют вместе с такими встроенными функциями как filter()
, map()
,reduce()
и др.
my_list = [1, 3, 4, 6, 10, 11, 15, 12, 14]
new_list = list(filter(lambda x: (x%2 == 0) , my_list))
print(new_list) # [4, 6, 10, 12, 14]
Пример с filter()
current_list = [1, 3, 4, 6, 10, 11, 15, 12, 14]
new_list = list(map(lambda x: x*2 , current_list))
print(new_list) # [2, 6, 8, 12, 20, 22, 30, 24, 28]
Пример с map()
from functools import reduce
current_list = [5, 15, 20, 30, 50, 55, 75, 60, 70]
summa = reduce((lambda x, y: x + y), current_list)
print(summa) # 380
Пример с reduce()
max_number = lambda a, b: a if a > b else b
print(max_number(3, 5)) # 5
Лямбда и условные операторы
Oct. 10, 2023, Источник