English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой статье вы узнаете о анонимных функциях, также называемых функциями lambda. Через примеры вы узнаете, что это за функции, их синтаксис и как их использовать.
В Python анонимные функции не имеют имен.Функция.
Хотя в Python ключевое слово def используется для определения обычных функций, ключевое слово lambda используется для определения анонимных функций.
Таким образом, анонимные функции также называются функциями lambda.
Функция lambda в Python имеет следующий синтаксис.
lambda arguments: expression
Функция lambda может иметь любое количество аргументов, но только одно выражение. Выражение вычисляется и возвращает. Функция lambda может использоваться в любом месте, где требуется объект функции.
Это пример функции lambda, которая удваивает входное значение.
# Пример использования функции lambda double = lambda x: x * 2 print(double(5))
Результат вывода
10
В приведенном выше коде lambda x: x * 2 - это функция lambda. Здесь x - это аргумент, x * 2 - это выражение, которое вычисляется и возвращает.
Эта функция не имеет имени. Она возвращает объект функции, которыйassingнуется идентификатору double. Теперь мы можем назвать его обычной функцией. Низлежащая декларация
double = lambda x: x * 2
Эквивалентно:
def double(x): return x * 2
Когда мы временно нуждаемся в анонимной функции, мы используем функцию lambda.
В Python мы обычно используем его в качестве параметра высшей функции (функция, которая принимает другие функции)аргументы)。Функция lambda может использоваться с filter(), map() и другими内置ными функциями.
Функция filter() в Python принимает функцию и список в качестве параметров.
Функция вызывается для каждого элемента списка, и возвращает новый список, содержащий элементы, для которых функция возвращает 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() в Python принимает функцию и список.
Функция вызывается для каждого элемента списка, и возвращает новый список, содержащий элементы, возвращаемые функцией для каждого элемента.
Это пример удвоения всех элементов списка с помощью функции map().
# Использование 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]