Python-kartta () -funktio esimerkeillä

Sisällysluettelo:

Anonim

Python-kartta () käyttää toimintoa kaikkiin iteraattorin kohteisiin, jotka annetaan syötteenä. Esimerkiksi iteraattori voi olla luettelo, sekoitus, joukko, sanakirja, merkkijono, ja se palauttaa iteroitavan karttaobjektin. Python map () on sisäänrakennettu toiminto.

Tässä opetusohjelmassa opit:

  • Syntaksi:
  • Kuinka kartta () -toiminto toimii?
  • Kartan () käyttö Pythonin sisäisten toimintojen kanssa
  • Kartan () käyttö merkkijonolla iteraattorina
  • Kartan () ja numeroluettelon käyttäminen
  • Kartan () käyttö Tuplen kanssa
  • Kartan () käyttäminen Sanakirjan kanssa
  • Kartan () käyttäminen Setin kanssa
  • Kartan () käyttäminen Lambda-toiminnolla
  • Useiden iteraattoreiden käyttö kartan () sisällä

Syntaksi:

map(function, iterator1,iterator2… iteratorN)

Parametrit

Tässä on kaksi tärkeää

  • toiminto: Kartalle annettava pakollinen toiminto, jota sovelletaan kaikkiin iteraattorissa käytettävissä oleviin kohteisiin.
  • iteraattori: Toistettava pakollinen kohde. Se voi olla luettelo, sekoitus jne. Voit siirtää useita iteraattoriobjekteja map () -toimintoon.

Palautusarvo

Map () -toiminto käyttää annettua funktiota kaikkiin iteraattorin sisällä oleviin kohteisiin ja palauttaa iteroituvan karttaobjektin, esimerkiksi tuplan, luettelon jne.

Kuinka kartta () -toiminto toimii?

Map () -toiminto vie kaksi tuloa funktiona ja iteroitavana objektina. Kartalle () annettu funktio on normaali funktio, ja se toistaa kaikki annetussa iteroitavassa objektissa olevat arvot.

Oletetaan esimerkiksi, että sinulla on luettelo numeroista ja haluat löytää kunkin numeron neliön.

Saada lähtö, tarvitsemme funktion, joka palauttaa annetun luvun neliön. Toiminto on seuraava:

def square(n):return n*n

Neliön löytävien kohteiden luettelo on seuraava:

my_list = [2,3,4,5,6,7,8,9]

Anna nyt käyttää sisäänrakennettua map () python-toimintoa saadaksesi jokaisen my_list-luettelon kohteen neliö.

Lopullinen koodi on seuraava:

def square(n):return n*nmy_list = [2,3,4,5,6,7,8,9]updated_list = map(square, my_list)print(updated_list)print(list(updated_list))

Tuotos:

[4, 9, 16, 25, 36, 49, 64, 81]

Map () -funktion ulostulo, kuten ulostulossa näkyy, on karttaobjekti, joka näytetään ruudulla nimellä .

Sinun on iteroitava kartan ulostulo for-loop- tai list () -menetelmällä lopullisen tuloksen saamiseksi. Olen käyttänyt luettelossa listaa (), joka näyttää arvot annetun luettelon sisällä.

Joten käyttämällä map () -funktiota pystymme saamaan jokaisen luvun neliön. Kartalle annettu luettelo oli [2,3,4,5,6,7,8,9] ja käyttämällä funktion neliötä () lähtö kartalta () saatiin [4, 9, 16, 25, 36, 49, 64, 81].

Toimintokartta () käyttää toimintoneliötä () kaikkiin luettelon kohteisiin. Esimerkiksi muuttuja my_list ja päivittää luettelon kunkin numeron neliöllä. Lähtö tallennetaan muuttujaan updated_list.

Kartan () käyttö Pythonin sisäisten toimintojen kanssa

Python map () -toiminto on sisäänrakennettu toiminto, ja sitä voidaan käyttää myös muiden sisäänrakennettujen Python-toimintojen kanssa. Tässä esimerkissä aiomme hyödyntää sisäänrakennettua Python round () -funktiota, joka pyöristää annetut arvot.

Esimerkki:

Minulla on luettelo my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907].

Tarvitsen pyöristetyt arvot jokaiselle luettelossa olevalle kohteelle. Hyödynnämme pyöreää () funktiona kartoitettaessa ().

my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]updated_list = map(round, my_list)print(updated_list)print(list(updated_list))

Tuotos:

[3, 4, 4, 6, 6, 8, 8, 10]

Round () -funktiota käytetään kaikkiin luettelon kohteisiin, ja se palauttaa luettelon, jossa kaikki arvot on pyöristetty, kuten tulostuksessa on esitetty.

Kartan () käyttö merkkijonolla iteraattorina

Voimme myös käyttää merkkijonossa olevaa karttaa (). Pythonissa merkkijono toimii kuten matriisi, jotta voimme käyttää sitä helposti kartan sisällä ().

Esimerkissä meillä on funktio myMapFunc (), joka huolehtii annetun merkkijonon muuntamisesta isoksi. Funktio myMapFunc () annetaan map () -toiminnolle. Karttatoiminto huolehtii isojen kirjaimien muuntamisesta välittämällä merkkijonon myMapFunc (): een.

def myMapFunc(s):return s.upper()my_str = "welcome to guru99 tutorials!"updated_list = map(myMapFunc, my_str)print(updated_list)for i in updated_list:print(i, end)

Tuotos:

WELCOME TO GURU99 TUTORIALS!

Kartan () ja numeroluettelon käyttäminen

Jos haluat työskennellä luettelon kanssa kartassa (), sinun on tehtävä luettelo numeroista ja kerrottava jokainen luettelossa oleva numero 10: llä.

Luettelo, jota aiomme käyttää, on: [2,3,4,5,6,7,8,9]. Funktio myMapFunc () huolehtii siitä, että annettu luku kerrotaan luvulla 10. Funktio annetaan kartoittaa yhdessä luettelon kanssa.

Esimerkki:

def myMapFunc(n):return n*10my_list = [2,3,4,5,6,7,8,9]updated_list = map(myMapFunc, my_list)print(updated_list)print(list(updated_list))

Tuotos:

[20, 30, 40, 50, 60, 70, 80, 90]

Tuloksena on, että kukin luettelon numero on

kerrottuna 10: llä.

Kartan () käyttö Tuplen kanssa

Tuple on Pythonissa oleva objekti, jolla on erät pilkuilla erotettuna ja suljettuina sulkeissa. Otetaan esimerkissä sekvenssi merkkijonoarvoilla. Toiminto, jota käytämme, muuntaa annetut arvot isoksi.

Esimerkki:

def myMapFunc(n):return n.upper()my_tuple = ('php','java','python','c++','c')updated_list = map(myMapFunc, my_tuple)print(updated_list)print(list(updated_list))

Tuotos:

['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

Saatu tulos on kaksinkertainen taaksepäin, jossa kaikki arvot muunnetaan isoksi.

Kartan () käyttäminen Sanakirjan kanssa

Sanakirja Pythonissa luodaan kiharilla sulkeilla ({}). Koska sanakirja on iteraattori, voit käyttää sitä map () -toiminnon sisällä. Käytä nyt sanakirjaa iteraattorina map () -toiminnossa.

Seuraava esimerkki näyttää sanakirjan iteraattorin toiminnan kartalla ()

def myMapFunc(n):return n*10my_dict = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_dict)print(finalitems)print(list(finalitems))

Tuotos:

[20, 30, 40, 50, 60, 70, 80, 90]

Kartan () käyttäminen Setin kanssa

Pythonissa on järjestämätön kokoelma kiharoissa sulkeissa olevia kohteita (()). Koska set () on myös iteraattori, voit käyttää sitä map () - toiminnon sisällä.

Tässä on toimiva esimerkki setin käytöstä iteraattorina kartan sisällä ()

def myMapFunc(n):return n*10my_set = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_set)print(finalitems)print(list(finalitems))

Tuotos:

[20, 30, 40, 50, 60, 70, 80, 90]

Kartan () käyttäminen Lambda-toiminnolla

Pythonissa lambda-lausekkeita käytetään anonyymien funktioiden rakentamiseen. Sinun on käytettävä lambda-avainsanaa aivan kuten def-näppäintä määritettäessä normaalit toiminnot.

Joten tässä esimerkissä aiomme käyttää lambda-toimintoa kartan sisällä (). Lambda-funktio kertoo kaikki luettelon arvot 10: llä.

Esimerkki:

my_list = [2,3,4,5,6,7,8,9]updated_list = map(lambda x: x * 10, my_list)print(updated_list)print(list(updated_list))

Tuotos:

[20, 30, 40, 50, 60, 70, 80, 90]

Useiden iteraattoreiden käyttö kartan () sisällä

Esimerkki 1: Kahden luettelo-iteraattorin välittäminen kartalle ()

Voit lähettää useamman kuin yhden iteraattorin eli luettelon, tuplan jne. Kaikki samanaikaisesti map () -toimintoon.

Esimerkiksi, jos haluat lisätä kaksi luetteloa. Sama voidaan tehdä map () -toiminnolla. Aiomme käyttää kahta luetteloa my_list1 ja my_list2.

Alla olevassa esimerkissä my_list1: n ensimmäinen kohde lisätään my_list2: n ensimmäiseen kohteeseen. Funktio myMapFunc () vie kohteet my_list1 ja my_list2 ja palauttaa molempien summat.

Tässä on toimiva esimerkki kahden annetun luettelon lisäämisestä map () -toiminnon avulla.

def myMapFunc(list1, list2):return list1+list2my_list1 = [2,3,4,5,6,7,8,9]my_list2 = [4,8,12,16,20,24,28]updated_list = map(myMapFunc, my_list1,my_list2)print(updated_list)print(list(updated_list))

Tuotos:

[6, 11, 16, 21, 26, 31, 36]

Esimerkki 2: Yhden Tuplen ja luettelo-iteraattorin välittäminen kartalle ()

Aiomme käyttää luetteloa ja kaksinkertaista iteraattoria map () -toiminnossa. Toiminto annetaan kartalle - myMapFunc () saa kohteet luettelosta ja Tuple. Kohteet liitetään alaviivalla (_). Toimiva esimerkki on seuraava:

def myMapFunc(list1, tuple1):return list1+"_"+tuple1my_list = ['a','b', 'b', 'd', 'e']my_tuple = ('PHP','Java','Python','C++','C')updated_list = map(myMapFunc, my_list,my_tuple)print(updated_list)print(list(updated_list))

Tuotos:

['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

Yhteenveto

  • Python map () on sisäänrakennettu toiminto, joka käyttää toimintoa kaikkiin iteraattorin kohteisiin, jotka annetaan syötteenä. Esimerkiksi iteraattori voi olla luettelo, sekvenssi, merkkijono jne., Ja se palauttaa iteroitavan karttaobjektin.
  • Map () -toiminto käyttää annettua funktiota kaikkiin iteraattorin sisällä oleviin kohteisiin ja palauttaa iteroituvan karttaobjektin, esimerkiksi tuplan, luettelon jne.
  • Python map () -toiminto on sisäänrakennettu toiminto, ja sitä voidaan käyttää myös muiden sisäänrakennettujen Python-toimintojen kanssa.
  • Tuple on Pythonissa oleva objekti, jolla on erät pilkuilla erotettuna ja suljettuina sulkeissa. Otetaan esimerkissä sekvenssi merkkijonoarvoilla. Toiminto, jota käytämme, muuntaa annetut arvot isoksi.
  • Sanakirja Pythonissa luodaan kiharilla sulkeilla ({}). Koska sanakirja on iteraattori, voit käyttää sitä map () -toiminnon sisällä.
  • Pythonissa on järjestämätön kokoelma kiharoissa sulkeissa olevia kohteita (()). Koska set () on myös iteraattori, voit käyttää sitä map () - toiminnon sisällä.
  • Pythonissa lambda-lausekkeita (tai lambda-muotoja) käytetään anonyymien funktioiden rakentamiseen. Joten lambda-avainsanaa on käytettävä, kun haluat käyttää lambdaa kartan sisällä ().
  • Voit lähettää useamman kuin yhden iteraattorin eli luettelon, dupleksin map () -toimintoon.