Šiame straipsnyje sužinosite apie anoniminę funkciją, dar vadinamą „lambda“ funkcijomis. Sužinosite, kokie jie yra, jų sintaksė ir kaip juos naudoti (su pavyzdžiais).
Kas yra „lambda“ funkcijos „Python“?
„Python“ sistemoje anoniminė funkcija yra funkcija, apibrėžta be pavadinimo.
Nors įprastos funkcijos yra apibrėžtos naudojant „ def
Python “ raktinį žodį, anoniminės funkcijos - pagal lambda
raktinį žodį.
Vadinasi, anoniminės funkcijos dar vadinamos lambda funkcijomis.
Kaip naudoti „lambda“ funkcijas „Python“?
Lambda funkcija pitone turi tokią sintaksę.
Lambda funkcijos sintaksė pitone
lambda argumentai: išraiška
„Lambda“ funkcijos gali turėti bet kokį argumentų skaičių, bet tik vieną išraišką. Išraiška įvertinama ir grąžinama. „Lambda“ funkcijas galima naudoti visur, kur reikalingi funkcijos objektai.
Lambda funkcijos pavyzdys pitone
Štai lambda funkcijos, padvigubinančios įvesties vertę, pavyzdys.
# Program to show the use of lambda functions double = lambda x: x * 2 print(double(5))
Rezultatas
10
Pirmiau pateiktoje programoje lambda x: x * 2
yra lambda funkcija. Čia x yra argumentas ir x * 2
yra išraiška, kuri įvertinama ir grąžinama.
Ši funkcija neturi pavadinimo. Jis grąžina funkcijos objektą, kuris yra priskirtas identifikatoriui double
. Dabar galime tai vadinti įprasta funkcija. Pareiškimas
dvigubas = lambda x: x * 2
yra beveik tas pats kaip:
def dvigubai (x): grįžti x * 2
„Lambda“ funkcijos naudojimas pitone
Mes naudojame lambda funkcijas, kai mums reikalinga bevardė funkcija trumpam laikui.
„Python“ paprastai naudojame kaip argumentą aukštesnės eilės funkcijai (funkcijai, kuri kitas funkcijas priima kaip argumentus). „Lambda“ funkcijos naudojamos kartu su įmontuotomis funkcijomis, pvz. filter()
, Ir map()
pan.
Naudojimo su filtru () pavyzdys
„ filter()
Python “ funkcija kaip funkciją priima funkciją ir sąrašą.
Funkcija iškviečiama su visais sąrašo elementais ir grąžinamas naujas sąrašas, kuriame yra elementai, kuriuos vertina funkcija True
.
Čia pateikiamas pavyzdys, filter()
kaip iš sąrašo filtruoti tik lyginius skaičius.
# 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)
Rezultatas
(4, 6, 8, 12)
Naudojimo su žemėlapiu () pavyzdys
„ map()
Python “ funkcija perima funkciją ir sąrašą.
Funkcija iškviečiama su visais sąrašo elementais ir grąžinamas naujas sąrašas, kuriame yra tos funkcijos grąžinti elementai kiekvienam elementui.
Čia pateikiamas pavyzdys, kaip map()
funkcija naudojama dvigubinti visus sąrašo elementus.
# 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)
Rezultatas
(2, 10, 8, 12, 16, 22, 6, 24)