Python map () aplică o funcție pe toate elementele unui iterator date ca intrare. Un iterator, de exemplu, poate fi o listă, un tuplu, un set, un dicționar, un șir și returnează un obiect hartă iterabil. Python map () este o funcție încorporată.
În acest tutorial, veți învăța:
- Sintaxă:
- Cum funcționează funcția map ()?
- Folosind map () cu funcții încorporate Python
- Folosind map () cu un șir ca iterator
- Folosirea map () cu lista de numere
- Folosind map () cu Tuple
- Folosind map () cu Dicționar
- Folosirea map () cu Set
- Folosirea map () cu funcția Lambda
- Utilizarea mai multor iteratoare în funcția map ()
Sintaxă:
map(function, iterator1,iterator2… iteratorN)
Parametrii
Iată două importante
- funcție: o funcție obligatorie care trebuie dată hărții, care va fi aplicată tuturor elementelor disponibile în iterator.
- iterator: Un obiect obligatoriu iterabil. Poate fi o listă, un tuplu etc. Puteți trece mai multe obiecte iteratoare la funcția map ().
Valoare returnată
Funcția map () va aplica funcția dată pe toate elementele din iterator și va returna un obiect de hartă iterabil, adică un tuplu, o listă etc.
Cum funcționează funcția map ()?
Funcția map () ia două intrări ca funcție și ca obiect iterabil. Funcția care este dată map () este o funcție normală și va itera peste toate valorile prezente în obiectul iterabil dat.
De exemplu, considerați că aveți o listă de numere și doriți să găsiți pătratul fiecăruia dintre numere.
Pentru a obține ieșirea, avem nevoie de funcția care va întoarce pătratul numărului dat. Funcția va fi după cum urmează:
def square(n):return n*n
Lista elementelor pe care dorim să le găsim pătratul este următoarea:
my_list = [2,3,4,5,6,7,8,9]
Acum, să folosim funcția încorporată map () python pentru a obține pătratul fiecăruia dintre elementele din lista_meu.
Codul final este după cum urmează:
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))
Ieșire:
Ieșirea funcției map (), așa cum se vede în rezultat, este un obiect hartă afișat pe ecran ca
Va trebui să iterați ieșirea de pe hartă folosind o metodă pentru buclă sau folosind lista () pentru a obține ieșirea finală. Am folosit list () în codul care afișează valorile din lista dată.
Deci, folosind funcția map (), putem obține pătratul fiecărui număr. Lista dată hărții a fost [2,3,4,5,6,7,8,9] și folosind funcția square () ieșirea din harta () obținută este [4, 9, 16, 25, 36, 49, 64, 81].
Harta funcției () aplică pătratul funcției () pe toate elementele din listă. De exemplu, variabila mea_listă și actualizează lista cu pătratul fiecărui număr. Ieșirea este stocată în variabila updated_list.
Folosind map () cu funcții încorporate Python
Funcția Python map () este o funcție încorporată și poate fi utilizată și cu alte funcții încorporate disponibile în Python. În exemplu, vom folosi funcția încorporată Python round () care rotunjește valorile date.
Exemplu:
Lista pe care o am este my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907].
Am nevoie de valorile rotunjite pentru fiecare element prezent în listă. Vom folosi round () ca funcție pentru map ().
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))
Ieșire:
Funcția round () se aplică tuturor elementelor din listă și returnează o listă cu toate valorile rotunjite așa cum se arată în rezultat.
Folosind map () cu un șir ca iterator
Putem folosi și map () pe un șir. În Python, un șir acționează ca un tablou, astfel încât să îl putem folosi cu ușurință în interiorul hărții ().
În exemplu, avem o funcție myMapFunc () care se ocupă de convertirea șirului dat în majuscule. Funcția myMapFunc () este dată funcției map (). Funcția map se va ocupa de conversia șirului dat cu majuscule, trecând șirul către 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)
Ieșire:
Folosirea map () cu lista de numere
Pentru a lucra cu lista din hartă (), veți lua o listă de numere și înmulțiți fiecare număr din listă cu 10.
Lista pe care o vom folosi este: [2,3,4,5,6,7,8,9]. Funcția myMapFunc () are grijă de înmulțirea numărului dat cu 10. Funcția este dată pentru mapare împreună cu lista.
Exemplu:
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))
Ieșire:
Rezultatul pe care îl vedem este că fiecare număr din listă este
înmulțit cu 10.
Folosind map () cu Tuple
Un tuplu este un obiect din Python care are elemente separate prin virgule și închise între paranteze rotunde. În exemplu, vom lua un tuplu cu valori de șir. Funcția pe care o vom folosi va converti valorile date în majuscule.
Exemplu:
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))
Ieșire:
Rezultatul pe care îl obținem este un tuplu înapoi, cu toate valorile din acesta convertite în majuscule.
Folosind map () cu Dicționar
Un dicționar în Python este creat folosind paranteze cretate ({}). Deoarece dicționarul este un iterator, îl puteți folosi în funcția map (). Să folosim acum un dicționar ca iterator în funcția map ().
Următorul exemplu arată funcționarea iteratorului de dicționar în interiorul map ()
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))
Ieșire:
Folosirea map () cu Set
Setat în Python este o colecție neordonată de articole între paranteze (()). Deoarece set () este, de asemenea, un iterator, îl puteți folosi în funcția map ().
Iată un exemplu de lucru al utilizării setului ca iterator în interiorul map ()
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))
Ieșire:
Folosirea map () cu funcția Lambda
În Python, expresiile lambda sunt utilizate pentru a construi funcții anonime. Va trebui să utilizați cuvântul cheie lambda la fel cum utilizați def pentru a defini funcțiile normale.
Deci, în exemplu, vom folosi funcția lambda în interiorul hărții (). Funcția lambda va înmulți fiecare valoare din listă cu 10.
Exemplu:
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))
Ieșire:
Utilizarea mai multor iteratoare în funcția map ()
Exemplul 1: trecerea a două iteratoare de listă pe hartă ()
Puteți trimite mai mult de un iterator, adică o listă, un tuplu etc. toate în același timp la funcția map ().
De exemplu, dacă doriți să adăugați două liste. La fel se poate face folosind funcția map (). Vom folosi două liste my_list1 și my_list2.
În exemplul de mai jos, primul element din lista_meu1 este adăugat la primul element din lista_meu2. Funcția myMapFunc () preia elementele my_list1 și my_list2 și returnează suma ambelor.
Iată exemplul de lucru al adăugării a două liste date folosind funcția map ().
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))
Ieșire:
Exemplul 2: trecerea unui tuplu și a unui iterator de listă pe hartă ()
Vom folosi o listă și un iterator de tupluri în funcția map (). Funcția este dată de map - myMapFunc () va primi elementele din listă și Tuple. Elementele vor fi alăturate cu un subliniat (_). Exemplul de lucru este așa cum se arată mai jos:
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))
Ieșire:
rezumat
- Python map () este o funcție încorporată care aplică o funcție pe toate elementele unui iterator date ca intrare. Un iterator, de exemplu, poate fi o listă, un tuplu, un șir etc. și returnează un obiect de hartă iterabil.
- Funcția map () va aplica funcția dată pe toate elementele din iterator și va returna un obiect de hartă iterabil, adică un tuplu, o listă etc.
- Funcția Python map () este o funcție încorporată și poate fi utilizată și cu alte funcții încorporate disponibile în Python.
- Un tuplu este un obiect din Python care are elemente separate prin virgule și închise între paranteze rotunde. În exemplu, va lua un tuplu cu valori de șir. Funcția pe care o vom folosi va converti valorile date în majuscule.
- Un dicționar în Python este creat folosind paranteze cretate ({}). Deoarece dicționarul este un iterator, îl puteți folosi în funcția map ().
- Setat în Python este o colecție neordonată de articole între paranteze (()). Deoarece set () este, de asemenea, un iterator, îl puteți folosi în funcția map ().
- În Python, expresiile lambda (sau formele lambda) sunt utilizate pentru a construi funcții anonime. Deci, cuvântul cheie lambda trebuie folosit atunci când doriți să utilizați lambda în interiorul hărții ().
- Puteți trimite mai mult de un iterator, adică o listă, un tuplu către funcția map ().