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.
