Документация по Python. Теоретические материалы, и практические задачи

Лямбда функция в Python

Лямбда функция / Анонимная функция Python, что это такое?

Мы не плохо уже владеем функциями, но пока еще не стали гуру, и не знаем многих нюансов. Сегодня у нас на связи Лямбда функция. В этой статье, мы рассмотрим синтаксис этой функции, как им пользоваться, и разберем примеры.

Лямбда/lambda — функция в python,  которая определяется без имени. Обычно, функции определяем через ключевое слово def. А lambda — определяется с помощью одноименного ключевого слова lambda.

Синтаксис lambda функции


lambda = arguments: выражение

lambda функция может иметь любое количество аргументов, но только с одним выражением, и может использоваться в любом месте, где требуется объект функции.

Пример lambda функции


double = lambda x: x * 2

print(double(5))

Результат :

10

В приведенном примере, мы видим что у нас есть идентификатор double, сама lambda функция с аргументом x, и выражение x *2. Как мы видим у функции нет имени, а вычисляемый и возвращаемый результат присваивается идентификатору double.  Рассмотрим тоже самое выражение в виде обычной функции:


def double(x):

return x * 2

По сути это тоже самое выражение, что и с примером с lambda функцией.

Использование lambda функции в Python

В python вы можете часто видеть такое, что lambda функцию часто используют вместе с другими функциями, такими как filter(), или map().

Пример использование с filter()

Функция filter() в python, в качестве аргументов принимает функцию, и список. filter() принимает элементы в списке, и возвращает новый список, для элементов которых он выполняет TRUE вычисление. Ниже рассмотрим пример filter() функции, для фильтрации четных чисел из приведенного списка.


my_list = [1, 5, 4, 6, 8, 11, 3, 12] #Входной список

new_list = list(filter(lambda x: (x%2 == 0) , my_list)) #обрабатываем (вспоминаем про операторы вычислений)

print(new_list) #Печатаем новый список

Результат:

[4,6,8,12]

Пример использования map()

Функция map(), так же как и filter() принимает в качестве аргументов функцию и список. Функция maps(), так же как и в предыдущем примере, возвращает новый список, содержащий элементы, которые отвечают условиям нашего выражения.


my_list = [1, 5, 4, 6, 8, 11, 3, 12]

new_list = list(map(lambda x: x * 2 , my_list))

print(new_list)

Результат:

[2,10,8,12,16,22,6,24]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *