Python Lambda (anonīma) funkcija

Šajā rakstā uzzināsiet par anonīmo funkciju, kas pazīstama arī kā lambda funkcijas. Jūs uzzināsiet, kas tie ir, to sintakse un kā tos izmantot (ar piemēriem).

Kādas ir lambda funkcijas Python?

Programmā Python anonīma funkcija ir funkcija, kas definēta bez nosaukuma.

Lai gan parastās funkcijas tiek definētas, izmantojot defPython atslēgvārdu, anonīmas funkcijas tiek noteiktas, izmantojot lambdaatslēgvārdu.

Tādējādi anonīmās funkcijas sauc arī par lambda funkcijām.

Kā Python lietot lambda funkcijas?

Lambda funkcijai pitonā ir šāda sintakse.

Lambda funkcijas sintakse pitonā

 lambda argumenti: izteiksme

Lambda funkcijās var būt jebkurš argumentu skaits, bet tikai viena izteiksme. Izteiksme tiek novērtēta un atgriezta. Lambda funkcijas var izmantot visur, kur nepieciešami funkciju objekti.

Lambda funkcijas piemērs pitonā

Šeit ir lambda funkcijas piemērs, kas dubulto ievades vērtību.

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

Rezultāts

 10

Iepriekš minētajā programmā lambda x: x * 2ir lambda funkcija. Šeit x ir arguments un x * 2izteiksme, kas tiek novērtēta un atgriezta.

Šai funkcijai nav nosaukuma. Tas atgriež funkcijas objektu, kas tiek piešķirts identifikatoram double. Tagad mēs to varam saukt par normālu funkciju. Paziņojums

 dubultā = lambda x: x * 2

ir gandrīz tāds pats kā:

 def dubultā (x): atgriešanās x * 2

Lambda funkcijas izmantošana pitonā

Mēs izmantojam lambda funkcijas, ja uz īsu laika periodu ir nepieciešama funkcija bez nosaukuma.

Programmā Python mēs to parasti izmantojam kā argumentu augstākas pakāpes funkcijai (funkcijai, kas citas funkcijas pieņem kā argumentus). Lambda funkcijas tiek izmantotas kopā ar iebūvētām funkcijām, piemēram filter(), map()utt.

Izmantošanas piemērs ar filtru ()

filter()Python funkcija notiek ar funkciju un saraksta kā argumentu.

Funkcija tiek izsaukta ar visiem saraksta vienumiem un tiek atgriezts jauns saraksts, kurā ir vienumi, kurus funkcija novērtē True.

Šeit ir piemērs filter()funkcijas izmantošanai, lai no saraksta filtrētu tikai pāra skaitļus.

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

Rezultāts

 (4, 6, 8, 12)

Lietojuma piemērs ar karti ()

map()Python funkcija notiek ar funkciju un sarakstā.

Funkcija tiek izsaukta ar visiem saraksta vienumiem un tiek atgriezts jauns saraksts, kurā ir vienumi, kurus šī funkcija atdod par katru vienumu.

Šeit ir piemērs map()funkcijas izmantošanai, lai dubultotu visus saraksta vienumus.

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

Rezultāts

 (2, 10, 8, 12, 16, 22, 6, 24)

Interesanti raksti...