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

Это анонимные функции. Они не резервируют имени в пространстве имен. Лямбды часто передают в функции mapreducefilter.

Лямбды в Питоне могут состоять только из одного выражения. Используя синтаксис скобок, можно оформить тело лямбды в несколько строк.

Использовать точку с запятой для разделения операторов нельзя.

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, Источник