lambda <аргумент(ы)>: <выражение>
lambda: «Просто строка»
lambda param: «Просто строка, но уже с обязательным аргументом param»
# Пример 1
>>> square = lambda a: a*a
>>> square(5)
25
# Пример 2
>>> add = lambda a,b: a+b
>>> add(7, 13)
20
def function_name(<args>):
<function_body>
>>> def square(a):
... return a*a
...
>>> square(5)
25
def add(a):
return lambda b: a+b
# Присваиваем переменной лямбда функцию ( lambda b: 100+b )
add_to_100 = add(100)
# Через переменную обращаемся к лямбда функции ( lambda b: 100+b )
# Параметр b = 50
print(add_to_100(50))
150
filter(метод, итерируемый_объект)
# Создаем список lst
>>> lst = [4, 67, 43, 2, 90, 11, 100, 7, 5]
# Передаем функции filter() 2 параметра
# Первый параметр: лямбда функция, которая возвращает True, если элемент списка четный
# Второй параметр: сам список, который необходимо профильтровать
>>> filtered_lst = list(filter(lambda item: (item % 2 == 0), lst))
>>> filtered_lst
[4, 2, 90, 100]
map(метод, итерируемый_объект)
# Создаем список lst
>>> lst = [4, 67, 43, 2, 90, 11, 100, 7, 5]
# Вызываем функцию map() и передаем ей 2 параметра
# Первый параметр: лямбда функция с одним параметром, к которому она прибавляет 100
# Второй параметр: сам список, каждый элемент которого надо изменить в соответствии со значением лямбда функции
>>> mapped_lst = list(map(lambda item: item + 100, lst))
>>> mapped_lst
[104, 167, 143, 102, 190, 111, 200, 107, 105]
reduce(метод, последовательность)
# Импортируем метод reduce из стандартного модуля functools
>>> from functools import reduce
# Создаем список lst
>>> lst = [4, 67, 43, 2, 90]
# Вызываем функцию reduce() и передаем ей 2 параметра:
# Первый параметр: лямбда функция, которая складывает два элемента
# Второй параметр: список, элементы которого будут последовательно складываться
>>> reduce(lambda a,b: a+b, lst)
206