В этой статье вы узнаете об анонимной функции, также известной как лямбда-функции. Вы узнаете, что это такое, их синтаксис и как их использовать (с примерами).
Что такое лямбда-функции в Python?
В Python анонимная функция - это функция, которая определяется без имени.
В то время как обычные функции определяются с помощью def
ключевого слова в Python, анонимные функции определяются с помощью lambda
ключевого слова.
Следовательно, анонимные функции также называются лямбда-функциями.
Как использовать лямбда-функции в Python?
Лямбда-функция в Python имеет следующий синтаксис.
Синтаксис лямбда-функции в Python
лямбда-аргументы: выражение
Лямбда-функции могут иметь любое количество аргументов, но только одно выражение. Выражение оценивается и возвращается. Лямбда-функции можно использовать везде, где требуются функциональные объекты.
Пример лямбда-функции в Python
Вот пример лямбда-функции, которая удваивает входное значение.
# Program to show the use of lambda functions double = lambda x: x * 2 print(double(5))
Вывод
10
В приведенной выше программе lambda x: x * 2
это лямбда-функция. Здесь x - аргумент и x * 2
выражение, которое вычисляется и возвращается.
У этой функции нет названия. Он возвращает функциональный объект, присвоенный идентификатору double
. Теперь мы можем вызывать это как обычную функцию. Заявление
double = лямбда x: x * 2
почти то же самое, что:
def double (x): вернуть x * 2
Использование лямбда-функции в Python
Мы используем лямбда-функции, когда нам требуется безымянная функция на короткий период времени.
В Python мы обычно используем его в качестве аргумента функции высшего порядка (функции, которая принимает другие функции в качестве аргументов). Лямбда-функции используются вместе со встроенными функциями, такими как filter()
и map()
т. Д.
Пример использования с filter ()
filter()
Функция в Python принимает функцию и список в качестве аргументов.
Функция вызывается со всеми элементами в списке, и возвращается новый список, содержащий элементы, для которых функция оценивает True
.
Вот пример использования filter()
функции для фильтрации только четных чисел из списка.
# Program to filter out only the even items from a list 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()
Функция в Python принимает функцию и список.
Функция вызывается со всеми элементами в списке, и возвращается новый список, содержащий элементы, возвращаемые этой функцией для каждого элемента.
Вот пример использования map()
функции для удвоения всех элементов в списке.
# Program to double each item in a list using map() 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)