Python funktsioon map() koos EXAMPLES-iga
Python map() rakendab funktsiooni kรตikidele iteraatori sisendiks antud รผksustele. Iteraator vรตib olla nรคiteks loend, korteeลพ, hulk, sรตnastik, string ja see tagastab itereeritava kaardiobjekti. Python map() on sisseehitatud funktsioon.
Sรผntaks
map(function, iterator1,iterator2 ...iteratorN)
parameetrid
Siin on kaks olulist
- Funktsioon: kaardile antav kohustuslik funktsioon, mida rakendatakse kรตikidele iteraatoris saadaolevatele รผksustele.
- iteraator: itereeritav kohustuslik objekt. See vรตib olla loend, korteeลพ jne. Funktsioonile map() saate edastada mitu iteraatori objekti.
Tagasi vรครคrtus
Funktsioon map() rakendab antud funktsiooni kรตikidele iteraatori sees olevatele รผksustele ja tagastab itereeritava kaardiobjekti, st korteeลพi, loendi jne.
Kuidas funktsioon map() tรถรถtab?
Funktsioon map() vรตtab funktsioonina ja itereeritava objektina kaks sisendit. Funktsioonile map() antud funktsioon on tavaline funktsioon ja see kordab kรตiki antud itereeritavas objektis olevaid vรครคrtusi.
Oletame nรคiteks, et teil on arvude loend ja soovite leida iga numbri ruudu.
Vรคljundi saamiseks vajame funktsiooni, mis tagastab antud arvu ruudu. Funktsioon on jรคrgmine:
def square(n): return n*n
รksuste loend, mida tahame ruudu leida, on jรคrgmine:
my_list = [2,3,4,5,6,7,8,9]
Nรผรผd kasutame sisseehitatud funktsiooni map() python, et saada loendis my_list iga รผksuse ruut.
Lรตplik kood on jรคrgmine:
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))
Vรคljund:
<map object at 0x0000002C59601748> [4, 9, 16, 25, 36, 49, 64, 81]
Funktsiooni map() vรคljund, nagu vรคljundis nรคha, on kaardiobjekt, mis kuvatakse ekraanil kui .
Lรตpliku vรคljundi saamiseks peate kordama kaardi vรคljundit, kasutades for-loop vรตi meetodit list(). Olen kasutanud list() koodis, mis kuvab antud loendis olevaid vรครคrtusi.
Seega, kasutades funktsiooni map(), saame iga numbri ruudu. Kaardile antud loend oli [2,3,4,5,6,7,8,9] ja funktsiooni square() abil saadi vรคljund map()-st saime [4, 9, 16, 25, 36, 49, 64, 81] .
Funktsioon map() rakendab funktsiooni square() kรตikidele loendi รผksustele. Nรคiteks muutuja my_list ja vรคrskendab loendit iga numbri ruuduga. Vรคljund salvestatakse muutujas updated_list.
Kaardi () kasutamine koos Python sisseehitatud funktsioonid
Python funktsioon map() on sisseehitatud funktsioon ja seda saab kasutada ka teiste sisseehitatud funktsioonidega, mis on saadaval Python. Nรคites kasutame รคra Python round() sisseehitatud funktsioon, mis รผmardab antud vรครคrtused.
Nรคide:
Minu loend on minu_loend = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907] .
Mul on vaja รผmardatud vรครคrtusi iga loendis oleva รผksuse jaoks. Kasutame kaardi() funktsioonina round().
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))
Vรคljund:
<map object at 0x000000E65F901748> [3, 4, 4, 6, 6, 8, 8, 10]
Funktsiooni round() rakendatakse kรตigile loendi รผksustele ja see tagastab loendi, mille kรตik vรครคrtused on รผmardatud, nagu vรคljundis nรคidatud.
Mapi () kasutamine stringiga iteraatorina
Samuti saame stringil kasutada kaarti (). sisse Python, toimib string nagu massiiv, nii et saame seda hรตlpsasti kaardi() sees kasutada.
Nรคites on meil funktsioon myMapFunc(), mis hoolitseb antud stringi suurtรคhtedeks teisendamise eest. Funktsioon myMapFunc () antakse funktsioonile map(). Kaardifunktsioon hoolitseb antud stringi suurtรคhtedeks teisendamise eest, edastades stringi funktsioonile myMapFunc().
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="")
Vรคljund:
<map object at 0x000000DF2E711748> WELCOME TO GURU99 TUTORIALS!
Kaardi () kasutamine koos listofiga Numbers
Loendiga tรถรถtamiseks rakenduses map() vรตetakse arvude loend ja korrutatakse loendis kรตik numbrid 10-ga.
Loend, mida kavatseme kasutada, on: [2,3,4,5,6,7,8,9]. Funktsioon myMapFunc () hoolitseb antud arvu korrutamise eest 10-ga. Funktsioon antakse kaardistamiseks koos loendiga.
Nรคide:
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))
Vรคljund:
<map object at 0x000000EE2C061898> [20, 30, 40, 50, 60, 70, 80, 90]
Vรคljund, mida me nรคeme, on see, et iga number loendis on
korrutatakse 10-ga.
Kaardi() kasutamine koos Tuple'iga
Korteel on objekt sees Python mille รผksused on eraldatud komadega ja suletud รผmarsulgudesse. Nรคites vรตtame stringivรครคrtustega korteeลพi. Funktsioon, mida kasutame, teisendab antud vรครคrtused suurtรคhtedeks.
Nรคide:
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))
Vรคljund:
<map object at 0x0000009C3C3A16A0> ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']
Saadud vรคljund on korteeลพ, milles kรตik vรครคrtused on teisendatud suurtรคhtedeks.
Kaardi () kasutamine sรตnastikuga
A sรตnastik sisse Python luuakse lokkis sulgude ({}) abil. Kuna sรตnastik on iteraator, saate seda kasutada funktsiooni map() sees. Kasutame nรผรผd sรตnaraamatut funktsiooni map() iteraatorina.
Jรคrgmine nรคide nรคitab sรตnastiku iteraatori tรถรถd map() sees
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))
Vรคljund:
<map object at 0x0000007EB451DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Kaardi() kasutamine koos Set
Mรครคra sisse Python on jรคrjestamata kogumik lokkis sulgudes(()). Kuna set() on ka iteraator, saad seda kasutada funktsiooni map() sees.
Siin on toimiv nรคide set'i kasutamisest iteraatorina sees 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))
Vรคljund:
<map object at 0x000000AC8F05DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Kaardi () kasutamine lambda funktsiooniga
In Python, kasutatakse lambda avaldisi anonรผรผmsete funktsioonide konstrueerimiseks. Peate kasutama lambda mรคrksรตna nagu def tavaliste funktsioonide mรครคratlemiseks.
Nii et nรคites kasutame lambda funktsiooni map() sees. Lambda-funktsioon korrutab iga loendi vรครคrtuse 10-ga.
Nรคide:
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))
Vรคljund:
<map object at 0x000000BD18B11898> [20, 30, 40, 50, 60, 70, 80, 90]
Funktsiooni map() sees mitme iteraatori kasutamine
Nรคide 1: kahe loendi iteraatori edastamine kaardile ()
Funktsioonile map() saab korraga saata rohkem kui รผhe iteraatori, st loendi, korteeลพi jne.
Nรคiteks kui soovite lisada kaks loendit. Sama saab teha ka funktsiooni map() abil. Kasutame kahte loendit minu_loend1 ja minu_loend2.
Allolevas nรคites lisatakse minu_loendi1 esimene รผksus minu_loend2 esimesele รผksusele. Funktsioon myMapFunc() vรตtab sisse minu_loend1 ja minu_loend2 รผksused ning tagastab mรตlema summa.
Siin on nรคide kahe antud loendi lisamisest funktsiooni map() abil.
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))
Vรคljund:
<map object at 0x0000004D5F751860> [6, 11, 16, 21, 26, 31, 36]
Nรคide 2: Korteri ja loendi iteraatori edastamine kaardile()
Kasutame funktsioonis map() loendit ja korteeลพiteraatorit. Funktsioon antakse kaardile โ myMapFunc() hangib รผksused loendist ja Tuple'ist. รksused รผhendatakse allkriipsuga (_). Tรถรถnรคide on jรคrgmine:
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))
Vรคljund:
<map object at 0x00000059F37BB4E0> ['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']
kokkuvรตte
- Python map() on sisseehitatud funktsioon, mis rakendab funktsiooni kรตikidele iteraatori sisendiks antud รผksustele. Nรคiteks iteraator vรตib olla loend, korteeลพ, string jne ja see tagastab itereeritava kaardiobjekti.
- Funktsioon map() rakendab antud funktsiooni kรตikidele iteraatori sees olevatele รผksustele ja tagastab itereeritava kaardiobjekti, st korteeลพi, loendi jne.
- Python funktsioon map() on sisseehitatud funktsioon ja seda saab kasutada ka teiste sisseehitatud funktsioonidega, mis on saadaval Python.
- Korteel on objekt sees Python mille รผksused on eraldatud komadega ja suletud รผmarsulgudesse. Nรคites vรตetakse stringivรครคrtustega korteeลพ. Funktsioon, mida kasutame, teisendab antud vรครคrtused suurtรคhtedeks.
- Sรตnastik sisse Python luuakse lokkis sulgude ({}) abil. Kuna sรตnastik on iteraator, saate seda kasutada funktsiooni map() sees.
- Mรครคra sisse Python on jรคrjestamata kogumik lokkis sulgudes(()). Kuna set() on ka iteraator, saad seda kasutada funktsiooni map() sees.
- In Python, kasutatakse anonรผรผmsete funktsioonide koostamiseks lambda-avaldisi (vรตi lambda-vorme). Seega tuleb lambda mรคrksรตna kasutada, kui soovite kasutada lambda-sรตna kaardi() sees.
- Funktsioonile map() saab saata rohkem kui รผhe iteraatori, st loendi vรตi korteeลพi.
