Питхон Ламбда (Анонимна) функција

У овом чланку ћете сазнати о анонимној функцији, познатој и као ламбда функције. Научићете шта су, синтаксу и како их користити (са примерима).

Шта су ламбда функције у Питхону?

У Питхону, анонимна функција је функција која је дефинисана без имена.

Док се нормалне функције дефинишу помоћу defкључне речи у Питхону, анонимне функције се дефинишу помоћу lambdaкључне речи.

Стога се анонимне функције називају и ламбда функције.

Како користити ламбда функције у Питхону?

Ламбда функција у питхону има следећу синтаксу.

Синтакса Ламбда функције у питхон-у

 ламбда аргументи: израз

Ламбда функције могу имати било који број аргумената, али само један израз. Израз се процењује и враћа. Ламбда функције могу се користити свуда где су потребни објекти функција.

Пример Ламбда функције у питхон-у

Ево примера ламбда функције која удвостручује улазну вредност.

 # Program to show the use of lambda functions double = lambda x: x * 2 print(double(5))

Оутпут

 10

У горњем програму lambda x: x * 2је ламбда функција. Овде је к аргумент и x * 2израз који се вреднује и враћа.

Ова функција нема име. Враћа објект функције који је додељен идентификатору double. Сада то можемо назвати нормалном функцијом. Изјава

 доубле = ламбда к: к * 2

је скоро исто као:

 деф доубле (к): повратак к * 2

Употреба Ламбда функције у питхон-у

Ламбда функције користимо када нам је за кратко време потребна безимена функција.

У Питхону га обично користимо као аргумент функцији вишег реда (функција која узима друге функције као аргументе). Ламбда функције се користе заједно са уграђеним функцијама као што filter(), map()етц.

Пример употребе са филтером ()

filter()Функција у Питхон узима у функцији и листе као аргумената.

Функција се позива са свим ставкама на листи и враћа се нова листа која садржи ставке за које функција процењује 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()функције за удвостручавање свих ставки на листи.

 # 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)

Занимљиви Чланци...