Kartoittaa, suodata ja vähennä toimintoja Pythonissa: Kaikki mitä sinun tarvitsee tietää



Opi mitä ovat kartta (), suodatin () ja pienennä () toiminnot Pythonissa. Osaa myös käyttää niitä lambda- ja käyttäjän määrittelemien toimintojen kanssa ja yhdessä.

Python tarjoaa monia sisäänrakennettuja toimintoja, jotka on määritelty ennalta ja joita loppukäyttäjä voi käyttää soittamalla heille vain. Nämä toiminnot paitsi helpottavat ohjelmoijien työtä, myös luovat tavallisen koodausympäristön. Tässä artikkelissa opit kolmesta tällaisesta vaikuttavasta toiminnosta, nimittäin kartta (), suodatin ja pienennys () sisään .

Ennen kuin siirrymme eteenpäin, katsotaanpa sisältöä:





Joten aloitetaan. :)

Mitä ovat kartta (), suodatin () ja vähennä () -toiminnot Pythonissa?

Kuten aiemmin mainittiin, kartta (), suodatin () ja pienennä () on sisäänrakennettu Pythonista. Nämä toiminnot mahdollistavat . Toiminnallisessa ohjelmoinnissa välitetyt argumentit ovat ainoat tekijät, jotka ratkaisevat tuotoksen. Nämä toiminnot voivat pitää minkä tahansa muun toiminnon parametrina ja ne voidaan toimittaa myös muihin toimintoihin parametrina. Katsotaan siis nyt kutakin näistä toiminnoista.



Kartta () -toiminto:

Map () -funktio on eräänlainen korkeamman asteen. Kuten aiemmin mainittiin, tämä toiminto ottaa parametrina toisen funktion iterable-sekvenssin ohella ja palauttaa lähdön, kun funktio on sovellettu jokaiseen sarjassa olevaan iteroitavaan. Sen syntakse on seuraava:

SYNTAKSI:

kartta (toiminto, iterable)



Tässä funktio määrittelee lausekkeen, jota puolestaan ​​käytetään iterableihin. Karttatoiminto voi käyttää myös käyttäjän määrittelemiä toimintoja lambda-toiminnot parametrina.

Käyttäjän määrittelemien ja Lambda-toimintojen käyttäminen:

Käyttäjän määrittelemät toiminnot kartalla ():

Map () -toiminto voi ottaa käyttäjän määrittelemät toiminnot parametreiksi. Näiden toimintojen parametrit asettaa yksinomaan käyttäjä tai ohjelmoija. Esimerkiksi:

ESIMERKKI:

def newfunc (a): palauta a * a x = map (newfunc, (1,2,3,4)) #x on karttaobjektitulostus (x) print (set (x))

LÄHTÖ:

{16, 1, 4, 9}

Kuten näette, x on karttaobjekti. Seuraava osalähtö näyttää karttatoiminnon, joka ottaa parametriksi newfunc (), ja käyttää sitten a * a: ta kaikkiin iterableihin. Tämän seurauksena kaikkien iteroitavien arvot kerrotaan itsellään ja palautetaan.

HUOMAUTUS: Lähtö ei ole iterable-arvojen mukaisessa järjestyksessä, koska olen käyttänyt set () -funktiota. Voit käyttää myös luettelo () tai tuple () toimintoja, esimerkiksi:

ESIMERKKI:

def newfunc (a): palauta a * a x = map (newfunc, (1,2,3,4)) #x on karttaobjektitulostus (x) print (list (x))

LÄHTÖ:

[1, 4, 9, 16]

Voit välittää myös useamman kuin yhden parametriluettelon. Esimerkiksi:

ESIMERKKI:

def func (a, b): palauta a + b a = kartta (func, [2, 4, 5], [1,2,3]) tulosta (a) tulosta (kaksinkertainen (a))

LÄHTÖ:

(3, 6, 8)

Katsotaan nyt, kuinka voit käyttää lambda-toiminnot kartan () toiminnossa.

Lambda-toiminnot kartalla ():

Lambda-toiminnot ovat toimintoja, joilla on mikä tahansa nimi. Nämä toiminnot toimitetaan usein parametreina muihin toimintoihin. Yritetään nyt upottaa lambda-funktiot map () -funktioon. Harkitse seuraavaa esimerkkiä:

ESIMERKKI:

tup = (5, 7, 22, 97, 54, 62, 77, 23, 73, 61) newtuple = tuple (kartta (lambda x: x + 3, tup)) tulosta (newtuple)

LÄHTÖ:

(8, 10, 25, 100, 57, 65, 80, 26, 76, 64)

Edellä oleva tulos on tulos lambda-lausekkeen (x + 3) soveltamisesta kuhunkin dupleksissa olevaan kohteeseen.

Suodatin () -toiminto:

Suodatintoimintoa () käytetään luomaan lähtöluettelo, joka koostuu arvoista, joille funktio palauttaa arvon true. Sen syntaksi on seuraava:

SYNTAKSI:

suodatin (toiminto, iterable)

Aivan kuten map (), tätä toimintoa voidaan käyttää myös parametreina käyttäjän määrittelemät toiminnot sekä lambda-toiminnot.

ESIMERKKI:

def func (x): jos x> = 3: palauta x y = suodatin (func, (1,2,3,4)) tulosta (y) tulosta (lista (y))

LÄHTÖ:

[3. 4]

Kuten näette, y on suodatinobjekti ja luettelo on luettelo ehdoista (x> = 3) tosi arvoista.

Lambdan käyttö suodattimessa ():


Parametrina käytettävä lambda-toiminto määrittää tosiasiallisesti tarkistettavan ehdon. Esimerkiksi:

ESIMERKKI:

y = suodatin (lambda x: (x> = 3), (1,2,3,4)) tulosta (luettelo (y))

LÄHTÖ: [3. 4]

Yllä oleva koodi tuottaa saman ulostulon kuin edellinen toiminto.

Pienennä () -toiminto:

Funktio reduc (), kuten nimessä kuvataan, soveltaa tiettyä funktiota iterableihin ja palauttaa yhden arvon.

vähennä-kartta vähennä suodatin-edureka

Tämän toiminnon syntaksi on seuraava:

SYNTAKSI:

vähennä (toiminto, iterable)

Funktio määrittelee tässä, mitä lauseketta on sovellettava iteraatioihin. Tämä toiminto on tuotava functools-laitteista moduuli . Esimerkiksi:

ESIMERKKI:

functoolsista tuonti vähennä vähennystä (lambda a, b: a + b, [23,21,45,98])

LÄHTÖ: 187

Yllä olevassa esimerkissä vähennysfunktio lisää peräkkäin kaikki luettelossa olevat iteroituvat kohdat ja palauttaa yhden lähdön.

Pythonin kartta (), suodatin () ja vähennä () toimintoja voidaan käyttää yhdessä.

Käytä kartta (), suodatin () ja pienennä () toimintoja yhdessä:

Kun teet tämän, sisäiset toiminnot ratkaistaan ​​ensin ja sitten ulkoiset toiminnot toimivat sisäisten toimintojen lähdöllä.

Yritetään ensin siirtää suodatin () -funktio parametrina map () -funktiolle.

Suodattimen () käyttäminen kartassa ():

Alla annettu koodi tarkistaa ensin, että ehto (x> = 3) on tosi iteraaaleille. Sitten tulos kartoitetaan map () -toiminnolla.

ESIMERKKI:

c = kartta (lambda x: x + x, suodatin (lambda x: (x> = 3), (1,2,3,4))) tulosta (luettelo (c))

LÄHTÖ: [6, 8]

Jos suodatat kokonaisluvut, jotka ovat suurempia tai yhtä suuria kuin 3 annetusta dupleksista, tulokseksi saadaan [3,4]. Sitten, jos kartoit tämän käyttämällä (x + x) -ehtoa, saat [6,8], joka on tulos.

Kartan () käyttäminen suodattimen sisällä ():


Kun käytät kartta () -toimintoa suodatin () -toiminnossa, iterableja käytetään ensin karttatoiminnolla ja sitten niihin sovelletaan suodattimen () ehtoa.

ESIMERKKI:

c = suodatin (lambda x: (x> = 3), kartta (lambda x: x + x, (1,2,3,4))) #lambda x: (x> = 3) tulosta (luettelo (c) )

LÄHTÖ: [4, 6, 8]

Kartan () ja suodattimen () käyttö pelkistyksen () sisällä:

Sisäisten toimintojen ulostuloa pienennetään vähennys () -toiminnolle toimitetun tilan mukaan.

ESIMERKKI:

d = pienennä (lambda x, y: x + y, kartta (lambda x: x + x, suodatin (lambda x: (x> = 3), (1,2,3,4)))) tulosta (d)

LÄHTÖ: 14

Lähtö on tulos tuloksesta [6,8], joka on seurausta sisäisen kartan () ja suodattimen () toiminnoista.

Tämän avulla olemme päässeet tämän artikkelin loppuun: map (), suodatin () ja vähennä funktioita Pythonissa. Toivon, että olet ymmärtänyt kaiken selvästi. Varmista, että harjoittelet mahdollisimman paljon ja palauta kokemuksesi.

mitä puskuroitu lukija tekee javassa

Onko sinulla kysymys meille? Mainitse se tämän 'kartta (), suodata () ja vähennä () -toiminnot Pythonissa' -blogin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.

Saadaksesi syvällistä tietoa Pythonista sen eri sovellusten kanssa, voit ilmoittautua livenä 24/7 -tuella ja käyttöikällä.