Python Lambda (Nimetön) -toiminto

Tässä artikkelissa opit tuntemattomasta toiminnosta, joka tunnetaan myös nimellä lambda-funktiot. Opit, mitä he ovat, niiden syntaksin ja miten niitä käytetään (esimerkkien kanssa).

Mitä ovat lambda-toiminnot Pythonissa?

Pythonissa anonyymi funktio on funktio, joka määritetään ilman nimeä.

Vaikka normaalit toiminnot määritetään käyttämällä defavainsanaa Pythonissa, anonyymit toiminnot määritetään lambdaavainsanalla.

Siksi nimettömiä toimintoja kutsutaan myös lambda-funktioiksi.

Kuinka käyttää lambda-toimintoja Pythonissa?

Pythonin lambda-funktiolla on seuraava syntakse.

Lambda-toiminnon syntaksi pythonissa

 lambda-argumentit: lauseke

Lambda-funktioilla voi olla mikä tahansa määrä argumentteja, mutta vain yksi lauseke. Lauseke arvioidaan ja palautetaan. Lambda-toimintoja voidaan käyttää missä tahansa toiminto-objekteja tarvitaan.

Esimerkki lambda-toiminnosta pythonissa

Tässä on esimerkki lambda-funktiosta, joka kaksinkertaistaa tuloarvon.

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

Tuotos

 10

Yllä olevassa ohjelmassa lambda x: x * 2on lambda-toiminto. Tässä x on argumentti ja x * 2lauseke, joka arvioidaan ja palautetaan.

Tällä toiminnolla ei ole nimeä. Se palauttaa tunnisteelle määritetyn funktio-objektin double. Voimme nyt kutsua sitä normaaliksi toiminnoksi. Lausunto

 kaksinkertainen = lambda x: x * 2

on melkein sama kuin:

 def double (x): palauta x * 2

Lambda-toiminnon käyttö pythonissa

Käytämme lambda-toimintoja, kun tarvitsemme nimettömän toiminnon lyhyeksi ajaksi.

Pythonissa käytämme sitä yleensä argumenttina korkeamman asteen funktiolle (funktio, joka ottaa muut toiminnot argumentteina). Lambda toimintoja käytetään yhdessä sisäänrakennettu toimii kuten filter(), map()jne

Esimerkki käytöstä suodattimen kanssa ()

filter()Toiminto Python ottaa sisään -toiminnon ja argumentteina.

Funktio kutsutaan kaikkien luettelon kohteiden kanssa ja palautetaan uusi luettelo, joka sisältää kohteet, joille toiminto arvioi True.

Tässä on esimerkki filter()toiminnon käytöstä suodattaa luettelosta vain parilliset numerot.

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

Tuotos

 (4, 6, 8, 12)

Esimerkki käytöstä kartan kanssa ()

map()Toiminto Python ottaa sisään -toiminnon ja.

Funktio kutsutaan kaikkien luettelon kohteiden kanssa ja palautetaan uusi luettelo, joka sisältää kyseisen toiminnon palauttamat kohteet kullekin alkion kohdalle.

Tässä on esimerkki map()toiminnon käytöstä kaikkien luettelon kohteiden kaksinkertaistamiseksi.

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

Tuotos

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

Mielenkiintoisia artikkeleita...