Python map () -funktion med EKSEMPLER

Indholdsfortegnelse:

Anonim

Python map () anvender en funktion på alle emnerne i en iterator, der er angivet som input. En iterator kan for eksempel være en liste, en tuple, et sæt, en ordbog, en streng, og den returnerer et iterabelt kortobjekt. Python map () er en indbygget funktion.

I denne vejledning lærer du:

  • Syntaks:
  • Hvordan fungerer map () -funktionen?
  • Brug af kort () med indbyggede Python-funktioner
  • Brug af kort () med en streng som en iterator
  • Brug af kort () med liste over numre
  • Brug af kort () med Tuple
  • Brug af kort () med ordbog
  • Brug af kort () med Set
  • Brug af kort () med Lambda-funktion
  • Brug af flere gentagere inde i kortfunktionen ()

Syntaks:

map(function, iterator1,iterator2… iteratorN)

Parametre

Her er to vigtige

  • funktion: En obligatorisk funktion, der skal gives til kort, og som vil blive anvendt på alle de tilgængelige poster i iteratoren.
  • iterator: Et gentageligt obligatorisk objekt. Det kan være en liste, en tuple osv. Du kan sende flere iteratorobjekter til kortfunktionen ().

Returneringsværdi

Map () -funktionen vil anvende den givne funktion på alle elementerne inde i iteratoren og returnere et iterabelt kortobjekt, dvs. en tuple, en liste osv.

Hvordan fungerer map () -funktionen?

Map () -funktionen tager to indgange som en funktion og et iterabelt objekt. Funktionen, der gives til map (), er en normal funktion, og den gentager alle de værdier, der findes i det givne iterable objekt.

Overvej for eksempel, at du har en liste med tal, og du vil finde firkanten af ​​hvert af tallene.

For at få output, har vi brug for den funktion, der returnerer kvadratet for det givne nummer. Funktionen er som følger:

def square(n):return n*n

Listen over emner, som vi vil finde pladsen, er som følger:

my_list = [2,3,4,5,6,7,8,9]

Lad os nu bruge map () python-indbygget funktion til at få firkanten af ​​hver af elementerne i my_list.

Den endelige kode er som følger:

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

Produktion:

[4, 9, 16, 25, 36, 49, 64, 81]

Outputtet fra kortfunktionen (), som det ses i output, er et kortobjekt, der vises på skærmen som .

Du bliver nødt til at gentage output fra kortet ved hjælp af en for-loop eller ved hjælp af list () -metoden for at få det endelige output. Jeg har brugt liste () i koden, der viser værdierne inde i den givne liste.

Så ved hjælp af map () -funktionen er vi i stand til at få kvadratet for hvert nummer. Listen givet til map var [2,3,4,5,6,7,8,9] og ved hjælp af funktions kvadratet () output fra kort () vi fik er [4, 9, 16, 25, 36, 49, 64, 81].

Funktionskortet () anvender funktionsfeltet () på alle elementerne på listen. For eksempel, min_listvariabel og opdaterer listen med firkanten af ​​hvert nummer. Out lagres i den opdaterede_list-variabel.

Brug af kort () med indbyggede Python-funktioner

Python map () -funktion er en indbygget funktion og kan også bruges med andre indbyggede funktioner, der er tilgængelige i Python. I eksemplet skal vi bruge Python round () indbygget funktion, der afrunder de angivne værdier.

Eksempel:

Den liste, jeg har, er min_liste = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907].

Jeg har brug for de afrundede værdier for hvert element, der findes på listen. Vi bruger runde () som funktionen til kortlægning ().

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

Produktion:

[3, 4, 4, 6, 6, 8, 8, 10]

Funktionen round () anvendes på alle elementerne på listen, og den returnerer en liste med alle værdier afrundet som vist i output.

Brug af kort () med en streng som en iterator

Vi kan også gøre brug af map () på en streng. I Python fungerer en streng som et array, så vi nemt kan bruge den inde i kortet ().

I eksemplet har vi en funktion myMapFunc (), der tager sig af at konvertere den givne streng til store bogstaver. Funktionen myMapFunc () gives til map () -funktionen. Kortfunktionen sørger for at konvertere strengen, der er givet til store bogstaver, ved at sende strengen til 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)

Produktion:

WELCOME TO GURU99 TUTORIALS!

Brug af kort () med liste over numre

At arbejde med listen i kort () tager en liste med tal og gang hvert nummer på listen med 10.

Den liste, vi skal bruge, er: [2,3,4,5,6,7,8,9]. Funktionen myMapFunc () sørger for at gange det givne tal med 10. Funktionen gives til kortlægning sammen med listen.

Eksempel:

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

Produktion:

[20, 30, 40, 50, 60, 70, 80, 90]

Det output, vi ser, er, at hvert nummer på listen er

ganget med 10.

Brug af kort () med Tuple

En tuple er et objekt i Python, der har elementer adskilt med kommaer og lukket i runde parenteser. I eksemplet tager vi en tuple med strengværdier. Den funktion, vi vil bruge, konverterer de angivne værdier til store bogstaver.

Eksempel:

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

Produktion:

['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

Det output, vi får, er en tuple tilbage med alle værdierne i det konverteres til store bogstaver.

Brug af kort () med ordbog

En ordbog i Python oprettes ved hjælp af krøllede parenteser ({}). Da ordbogen er en iterator, kan du bruge den i map () -funktionen. Lad os nu bruge en ordbog som en iterator inde i kort () -funktionen.

Følgende eksempel viser, hvordan ordbogens iterator fungerer på kortet ()

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

Produktion:

[20, 30, 40, 50, 60, 70, 80, 90]

Brug af kort () med Set

Set i Python er en uordnet samling af varer i krøllede parenteser (()). Da set () også er en iterator, kan du gøre brug af det i map () -funktionen.

Her er et fungerende eksempel på brug af sæt som en iterator inde på kortet ()

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

Produktion:

[20, 30, 40, 50, 60, 70, 80, 90]

Brug af kort () med Lambda-funktion

I Python bruges lambda-udtryk til at konstruere anonyme funktioner. Du bliver nødt til at bruge lambda-nøgleordet, ligesom du bruger def til at definere normale funktioner.

Så i eksemplet skal vi bruge lambda-funktionen inde i kortet (). Lambda-funktionen multiplicerer hver værdi på listen med 10.

Eksempel:

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

Produktion:

[20, 30, 40, 50, 60, 70, 80, 90]

Brug af flere gentagere inde i kortfunktionen ()

Eksempel 1: At videregive to listeiteratorer til kort ()

Du kan sende mere end en iterator, dvs. en liste, en tuple osv. Alt sammen på samme tid til kortfunktionen.

For eksempel, hvis du vil tilføje to lister. Det samme kan gøres ved hjælp af funktionen map (). Vi skal bruge to lister my_list1 og my_list2.

I eksemplet nedenfor føjes det første element i my_list1 til det første element i my_list2. Funktionen myMapFunc () tager poster i min_liste1 og min_liste2 og returnerer summen af ​​begge.

Her er arbejdseksemplet med at tilføje to givne lister ved hjælp af map () -funktionen.

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

Produktion:

[6, 11, 16, 21, 26, 31, 36]

Eksempel 2: At sende en Tuple og en liste iterator til kort ()

Vi skal bruge en liste og en tuple iterator i map () -funktionen. Funktionen gives til kort - myMapFunc () får elementerne fra listen og Tuple. Varerne sammenføjes med en understregning (_). Arbejdseksemplet er som vist nedenfor:

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

Produktion:

['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

Resumé

  • Python map () er en indbygget funktion, der anvender en funktion på alle emnerne i en iterator, der er angivet som input. En iterator kan for eksempel være en liste, en tuple, en streng osv., Og den returnerer et iterabel kortobjekt.
  • Map () -funktionen vil anvende den givne funktion på alle elementerne inde i iteratoren og returnere et iterabelt kortobjekt, dvs. en tuple, en liste osv.
  • Python map () -funktion er en indbygget funktion og kan også bruges med andre indbyggede funktioner, der er tilgængelige i Python.
  • En tuple er et objekt i Python, der har elementer adskilt med kommaer og lukket i runde parenteser. I eksemplet vil det tage en tuple med strengværdier. Den funktion, vi vil bruge, konverterer de angivne værdier til store bogstaver.
  • En ordbog i Python oprettes ved hjælp af krøllede parenteser ({}). Da ordbogen er en iterator, kan du bruge den i map () -funktionen.
  • Set i Python er en uordnet samling af varer i krøllede parenteser (()). Da set () også er en iterator, kan du gøre brug af det i map () -funktionen.
  • I Python bruges lambda-udtryk (eller lambda-former) til at konstruere anonyme funktioner. Så lambda-nøgleordet skal bruges, når du vil bruge lambda inde på kortet ().
  • Du kan sende mere end en iterator, dvs. en liste, en tuple til kortfunktionen.