У овом чланку ћете сазнати о анонимној функцији, познатој и као ламбда функције. Научићете шта су, синтаксу и како их користити (са примерима).
Шта су ламбда функције у Питхону?
У Питхону, анонимна функција је функција која је дефинисана без имена.
Док се нормалне функције дефинишу помоћу 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)