Python map()-funktio EXAMPLESilla
Python map() käyttää funktiota kaikkiin syötteenä annetun iteraattorin alkioihin. Iteraattori voi olla esimerkiksi lista, monikko, joukko, sanakirja, merkkijono ja se palauttaa iteroitavan karttaobjektin. Python map() on sisäänrakennettu funktio.
Syntaksi
map(function, iterator1,iterator2 ...iteratorN)
parametrit
Tässä on kaksi tärkeää
- toiminto: Pakollinen kartalle annettava funktio, jota sovelletaan kaikkiin iteraattorissa oleviin kohteisiin.
- iteraattori: iteroitavissa oleva pakollinen objekti. Se voi olla lista, monikko jne. Voit välittää useita iteraattoriobjekteja map()-funktiolle.
Palautusarvo
Map()-funktio aikoo soveltaa annettua funktiota kaikkiin iteraattorin sisällä oleviin kohteisiin ja palauttaa iteroitavan karttaobjektin eli monikon, listan jne.
Miten map()-funktio toimii?
Map()-funktio ottaa kaksi syötettä funktiona ja iteroitavana objektina. Funktio, joka annetaan map():lle, on normaali funktio, ja se iteroi kaikki annetussa iteroitavissa olevassa objektissa olevat arvot.
Oletetaan esimerkiksi, että sinulla on luettelo numeroista ja haluat löytää kunkin numeron neliön.
Saat tuloksen, tarvitsemme funktion, joka palauttaa annetun luvun neliön. Toiminto tulee olemaan seuraava:
def square(n): return n*n
Luettelo kohteista, jotka haluamme löytää neliön, on seuraava:
my_list = [2,3,4,5,6,7,8,9]
Käytämme nyt sisäänrakennettua map() python -funktiota saadaksemme jokaisen my_listin kohteen neliön.
Lopullinen koodi on seuraava:
def square(n): return n*n my_list = [2,3,4,5,6,7,8,9] updated_list = map(square, my_list) print(updated_list) print(list(updated_list))
lähtö:
<map object at 0x0000002C59601748> [4, 9, 16, 25, 36, 49, 64, 81]
Map()-funktion tulos, kuten tulos näkyy, on karttaobjekti, joka näytetään näytöllä nimellä .
Sinun on iteroitava kartan tulos käyttämällä for-loop- tai list()-menetelmää saadaksesi lopullisen tulosteen. Olen käyttänyt listaa () koodissa, joka näyttää arvot annetun luettelon sisällä.
Joten käyttämällä map()-funktiota, voimme saada jokaisen luvun neliön. Kartalle annettu lista oli [2,3,4,5,6,7,8,9] ja funktiolla square() tulos kartasta () saimme on [4, 9, 16, 25, 36, 49, 64, 81] .
Funktio map() käyttää funktiota square() kaikissa luettelon kohteissa. Esimerkiksi my_list-muuttuja ja päivittää luettelon kunkin luvun neliöllä. Out on tallennettu updated_list-muuttujaan.
Käyttämällä karttaa () kanssa Python sisäänrakennetut toiminnot
Python map()-funktio on sisäänrakennettu toiminto, ja sitä voidaan käyttää myös muiden sisäänrakennettujen toimintojen kanssa Python. Esimerkissä aiomme hyödyntää Python round() sisäänrakennettu funktio, joka pyöristää annetut arvot.
Esimerkiksi:
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 tuotteelle. Käytämme round()-funktiota map()-funktiona.
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))
lähtö:
<map object at 0x000000E65F901748> [3, 4, 4, 6, 6, 8, 8, 10]
Round()-funktiota sovelletaan kaikkiin luettelon kohteihin, ja se palauttaa luettelon, jossa kaikki arvot on pyöristetty tulosteen mukaisesti.
Map():n käyttäminen merkkijonon kanssa iteraattorina
Voimme myös käyttää merkkijonossa map()-funktiota. sisään Python, merkkijono toimii kuin taulukko, joten voimme helposti käyttää sitä map() sisällä.
Esimerkissä meillä on funktio myMapFunc(), joka huolehtii annetun merkkijonon muuntamisesta isoiksi kirjaimiksi. Funktio myMapFunc () annetaan map()-funktiolle. Karttafunktio huolehtii annetun merkkijonon muuntamisesta isoiksi kirjaimilla välittämällä merkkijonon myMapFunc()-funktiolle.
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="")
lähtö:
<map object at 0x000000DF2E711748> WELCOME TO GURU99 TUTORIALS!
Map():n käyttö listan kanssa Numbers
Listan käsitteleminen map() -sovelluksessa ottaa numeroluettelon ja kertoo jokaisen luettelon numeron 10:llä.
Lista, jota aiomme käyttää, on: [2,3,4,5,6,7,8,9]. Funktio myMapFunc () huolehtii kertomalla annettu luku 10:llä. Funktio annetaan kartalle listan mukana.
Esimerkiksi:
def myMapFunc(n): return n*10 my_list = [2,3,4,5,6,7,8,9] updated_list = map(myMapFunc, my_list) print(updated_list) print(list(updated_list))
lähtö:
<map object at 0x000000EE2C061898> [20, 30, 40, 50, 60, 70, 80, 90]
Näemme tulos, että jokainen luettelon numero on
kerrottuna 10: lla.
Map():n käyttö Tuplen kanssa
Tuple on esine Python jonka kohteet on erotettu pilkuilla ja suljettu pyöreisiin hakasulkeisiin. Esimerkissä otamme monikon merkkijonoarvoilla. Käyttämämme funktio muuntaa annetut arvot isoiksi kirjaimille.
Esimerkiksi:
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))
lähtö:
<map object at 0x0000009C3C3A16A0> ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']
Saatama tulos on monikko takaisin, jossa kaikki arvot muunnetaan isoiksi kirjaimille.
Map():n käyttäminen sanakirjan kanssa
A sanakirja sisään Python luodaan käyttämällä kiharasulkuja ({}). Koska sanakirja on iteraattori, voit käyttää sitä map()-funktion sisällä. Käytetään nyt sanakirjaa iteraattorina map()-funktion sisällä.
Seuraava esimerkki näyttää sanakirjaiteraattorin toiminnan map() sisällä
def myMapFunc(n): return n*10 my_dict = {2,3,4,5,6,7,8,9} finalitems = map(myMapFunc, my_dict) print(finalitems) print(list(finalitems))
lähtö:
<map object at 0x0000007EB451DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Map():n käyttö Set:n kanssa
Aseta sisään Python on järjestämätön kokoelma suluissa (()) olevia kohteita. Koska set() on myös iteraattori, voit käyttää sitä map()-funktiossa.
Tässä on toimiva esimerkki setin käyttämisestä iteraattorina map()
def myMapFunc(n): return n*10 my_set = {2,3,4,5,6,7,8,9} finalitems = map(myMapFunc, my_set) print(finalitems) print(list(finalitems))
lähtö:
<map object at 0x000000AC8F05DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Map():n käyttö lambda-funktion kanssa
In Python, lambda-lausekkeita käytetään anonyymien funktioiden rakentamiseen. Sinun on käytettävä lambda-avainsanaa aivan kuten käytät def-funktiota normaalien funktioiden määrittämiseen.
Joten esimerkissä aiomme käyttää lambda-funktiota kartan () sisällä. Lambda-funktio kertoo jokaisen luettelon arvon 10:llä.
Esimerkiksi:
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))
lähtö:
<map object at 0x000000BD18B11898> [20, 30, 40, 50, 60, 70, 80, 90]
Useiden iteraattorien käyttäminen map()-funktion sisällä
Esimerkki 1: Kahden listaiteraattorin välittäminen map()
Voit lähettää map()-funktioon samanaikaisesti useamman kuin yhden iteraattorin eli listan, tuplen jne..
Jos esimerkiksi haluat lisätä kaksi luetteloa. Sama voidaan tehdä käyttämällä map()-funktiota. Käytämme kahta listaa my_list1 ja my_list2.
Alla olevassa esimerkissä oma_luettelo1-luettelon ensimmäinen kohde lisätään luettelon2 ensimmäiseen kohteeseen. Funktio myMapFunc() ottaa kohteet my_list1 ja my_list2 ja palauttaa molempien summan.
Tässä on toimiva esimerkki kahden annetun listan lisäämisestä map()-funktiolla.
def myMapFunc(list1, list2): return list1+list2 my_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))
lähtö:
<map object at 0x0000004D5F751860> [6, 11, 16, 21, 26, 31, 36]
Esimerkki 2: Yhden Tuplen ja listaiteraattorin välittäminen map()
Aiomme käyttää listaa ja tuple iteraattoria map()-funktiossa. Toiminto annetaan kartalle – myMapFunc() saa kohteet luettelosta ja Tuplesta. Kohteet yhdistetään alaviivalla (_). Toimintaesimerkki on seuraavanlainen:
def myMapFunc(list1, tuple1): return list1+"_"+tuple1 my_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))
lähtö:
<map object at 0x00000059F37BB4E0> ['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']
Yhteenveto
- Python map() on sisäänrakennettu funktio, joka käyttää funktiota kaikkiin syötteenä annettuihin iteraattoriin. Iteraattori voi esimerkiksi olla lista, monikko, merkkijono jne. ja se palauttaa iteroitavan karttaobjektin.
- Map()-funktio aikoo soveltaa annettua funktiota kaikkiin iteraattorin sisällä oleviin kohteisiin ja palauttaa iteroitavan karttaobjektin eli monikon, listan jne.
- Python map()-funktio on sisäänrakennettu toiminto, ja sitä voidaan käyttää myös muiden sisäänrakennettujen toimintojen kanssa Python.
- Tuple on esine Python jonka kohteet on erotettu pilkuilla ja suljettu pyöreisiin hakasulkeisiin. Esimerkissä otetaan monikko merkkijonoarvoilla. Käyttämämme funktio muuntaa annetut arvot isoiksi kirjaimiksi.
- Sisällä sanakirja Python luodaan käyttämällä kiharasulkuja ({}). Koska sanakirja on iteraattori, voit käyttää sitä map()-funktion sisällä.
- Aseta sisään Python on järjestämätön kokoelma suluissa (()) olevia kohteita. Koska set() on myös iteraattori, voit käyttää sitä map()-funktiossa.
- In Python, 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ää map()-funktioon useamman kuin yhden iteraattorin eli listan, tuplen.