„Python Lambda“ (anoniminė) funkcija

Š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 „ defPython “ raktinį žodį, anoniminės funkcijos - pagal lambdaraktinį ž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 * 2yra lambda funkcija. Čia x yra argumentas ir x * 2yra 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)

Įdomios straipsniai...