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.