Функция Python Lambda (Anonymous)

В тази статия ще научите за анонимната функция, известна още като ламбда функции. Ще научите какви са те, техния синтаксис и как да ги използвате (с примери).

Какво представляват ламбда функциите в 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. Сега можем да го наречем като нормална функция. Изявлението

 двойно = ламбда x: x * 2

е почти същото като:

 def double (x): връщане x * 2

Използване на ламбда функция в python

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

В Python обикновено го използваме като аргумент на функция от по-висок ред (функция, която приема други функции като аргументи). Ламбда функции се използват заедно с вградени функции като filter()и map()т.н.

Пример за използване с филтър ()

Най- 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)

Интересни статии...