Python funcția map() cu EXEMPLE

Python map() aplică o funcție pe toate elementele unui iterator dat 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ă.

Sintaxă

map(function, iterator1,iterator2 ...iteratorN)

parametrii

Iată două importante

  • function: 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().

Valoarea retur

Funcția map() va aplica funcția dată pe toate elementele din interiorul iteratorului și va returna un obiect hartă iterabil, adică un tuplu, o listă etc.

Cum funcționează funcția map()?

Funcția map() acceptă două intrări ca funcție și 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 rezultatul, avem nevoie de funcția care va returna 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 my_list.

Codul final este următorul:

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))

ieșire:

<map object at 0x0000002C59601748>
[4, 9, 16, 25, 36, 49, 64, 81]

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 rezultatul de pe hartă folosind o buclă for sau folosind metoda list() pentru a obține rezultatul 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ă mapei a fost [2,3,4,5,6,7,8,9] și folosind funcția square() rezultatul din map() am obținut este [4, 9, 16, 25, 36, 49, 64, 81] .

Funcția map() aplică funcția square() pe toate elementele din listă. De exemplu, variabila my_list și actualizează lista cu pătratul fiecărui număr. Ieșirea este stocată în variabila updated_list.

Folosind map() cu Python funcții încorporate

Python Funcția map() este o funcție încorporată și poate fi folosită și cu alte funcții încorporate disponibile în Python. În exemplu, vom folosi Python round() funcție încorporată care rotunjește valorile date.

Exemplu:

Lista pe care o am este lista_mea = [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:

<map object at 0x000000E65F901748>
[3, 4, 4, 6, 6, 8, 8, 10]

Funcția round() este aplicată 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

De asemenea, putem folosi map() pe un șir. În Python, un șir acționează ca o matrice, 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 conversia șirului dat în majuscule. Funcția myMapFunc() este dată funcției map(). Funcția map se va ocupa de conversia șirului dat în majuscule, pasând șirul la 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:

<map object at 0x000000DF2E711748>
WELCOME TO GURU99 TUTORIALS!

Folosind map() cu listof Numbers

Pentru a lucra cu lista din map() va lua o listă de numere și va înmulț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 a mapa împreună cu lista.

Exemplu:

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))

ieșire:

<map object at 0x000000EE2C061898>
[20, 30, 40, 50, 60, 70, 80, 90]

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 în Python care are articolele separate prin virgule și cuprinse î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:

<map object at 0x0000009C3C3A16A0>
['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

Ieșirea pe care o obținem este un tuplu înapoi cu toate valorile din el sunt convertite în majuscule.

Folosind map() cu Dicționar

A dicționar în Python este creat folosind paranteze ({}). Deoarece dicționarul este un iterator, îl puteți folosi în cadrul funcției map(). Să folosim acum un dicționar ca iterator în interiorul funcției map().

Următorul exemplu arată funcționarea iteratorului de dicționar în interiorul map ()

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))

ieșire:

<map object at 0x0000007EB451DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]

Folosind map() cu Set

S-a instalat Python este o colecție neordonată de articole între paranteze (()). Deoarece set() este și un iterator, îl puteți folosi în cadrul funcției map().

Iată un exemplu de lucru de utilizare a set ca iterator în interiorul 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))

ieșire:

<map object at 0x000000AC8F05DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]

Folosind map() cu funcția Lambda

In Python, expresiile lambda sunt utilizate pentru a construi funcții anonime. Va trebui să utilizați cuvântul cheie lambda așa cum folosiți def pentru a defini funcțiile normale.

Deci, în exemplu, vom folosi funcția lambda în interiorul mapei(). 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:

<map object at 0x000000BD18B11898>
[20, 30, 40, 50, 60, 70, 80, 90]

Utilizarea iteratoarelor multiple în cadrul funcției map().

Exemplul 1: trecerea a doi iteratoare de listă către map()

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. Același lucru se poate face folosind funcția map(). Vom folosi două liste my_list1 și my_list2.

În exemplul de mai jos, primul articol din my_list1 este adăugat la primul element din my_list2. Funcția myMapFunc() preia elementele my_list1 și my_list2 și returnează suma ambelor.

Iată un exemplu de lucru pentru adăugarea a două liste date folosind funcția map().

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))

ieșire:

<map object at 0x0000004D5F751860>
[6, 11, 16, 21, 26, 31, 36]

Exemplul 2: trecerea unui tuplu și a unui iterator de listă la map()

Vom folosi o listă și un iterator tuplu în funcția map(). Funcția este dată mapei – myMapFunc() va primi elementele din listă și Tuple. Elementele vor fi unite cu un caracter de subliniere (_). Exemplul de lucru este prezentat mai jos:

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))

ieșire:

<map object at 0x00000059F37BB4E0>
['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

Rezumat

  • Python map() este o funcție încorporată care aplică o funcție pe toate elementele unui iterator dat ca intrare. Un iterator, de exemplu, poate fi o listă, un tuplu, un șir etc. și returnează un obiect hartă iterabil.
  • Funcția map() va aplica funcția dată pe toate elementele din interiorul iteratorului și va returna un obiect hartă iterabil, adică un tuplu, o listă etc.
  • Python Funcția map() este o funcție încorporată și poate fi folosită și cu alte funcții încorporate disponibile în Python.
  • Un tuplu este un obiect în Python care are articolele separate prin virgule și cuprinse î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 ({}). Deoarece dicționarul este un iterator, îl puteți folosi în cadrul funcției map().
  • S-a instalat Python este o colecție neordonată de articole între paranteze (()). Deoarece set() este și un iterator, îl puteți folosi în cadrul funcției map().
  • In Python, expresiile lambda (sau formele lambda) sunt utilizate pentru a construi funcții anonime. Deci cuvântul cheie lambda trebuie utilizat 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 la funcția map().