Python map() funktion med EKSEMPLER
Python map() anvender en funktion på alle elementerne i en iterator givet som input. En iterator, for eksempel, kan være en liste, en tupel, et sæt, en ordbog, en streng, og den returnerer et itererbart kortobjekt. Python map() er en indbygget funktion.
Syntaks
map(function, iterator1,iterator2 ...iteratorN)
parametre
Her er to vigtige
- funktion: En obligatorisk funktion, der skal gives til kort, som vil blive anvendt på alle de elementer, der er tilgængelige i iteratoren.
- iterator: Et iterabelt obligatorisk objekt. Det kan være en liste, en tupel osv. Du kan sende flere iteratorobjekter til map()-funktionen.
Returværdi
Map()-funktionen kommer til at anvende den givne funktion på alle elementer inde i iteratoren og returnere et iterbart kortobjekt, dvs. en tupel, en liste osv.
Hvordan fungerer map()-funktionen?
Map()-funktionen tager to input som en funktion og et iterabelt objekt. Funktionen, der er givet til map() er en normal funktion, og den vil iterere over alle de værdier, der er til stede i det givne iterable objekt.
Overvej for eksempel, at du har en liste over tal, og du vil finde kvadratet af hvert af tallene.
For at få output, har vi brug for funktionen, der returnerer kvadratet af det givne tal. Funktionen bliver som følger:
def square(n): return n*n
Listen over elementer, som vi ønsker at finde firkanten 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å kvadratet af hvert af elementerne i my_list.
Den endelige kode er som følger:
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))
Output:
<map object at 0x0000002C59601748> [4, 9, 16, 25, 36, 49, 64, 81]
Outputtet af map()-funktionen, som det ses i outputtet, er et kortobjekt vist på skærmen som .
Du bliver nødt til at iterere outputtet fra kortet ved hjælp af en for-loop eller ved at bruge list()-metoden for at få det endelige output. Jeg har brugt list() i koden, der viser værdierne i den angivne liste.
Så ved at bruge map()-funktionen er vi i stand til at få kvadratet af hvert tal. Listen, der blev givet til map, var [2,3,4,5,6,7,8,9] og ved at bruge funktionen square() outputtet fra map() vi fik er [4, 9, 16, 25, 36, 49, 64, 81] .
Funktionen map() anvender funktionen square() på alle elementerne på listen. For eksempel, min_liste variabel og opdaterer listen med kvadratet af hvert tal. Uden gemmes i variablen updated_list.
Brug af map() med Python indbyggede funktioner
Python map()-funktionen er en indbygget funktion og kan også bruges med andre indbyggede funktioner, der er tilgængelige i Python. I eksemplet skal vi gøre brug af Python round() indbygget funktion, der runder 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 på listen. Vi vil gøre brug af round() som funktionen til at kortlægge().
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))
Output:
<map object at 0x000000E65F901748> [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 outputtet.
Brug af map() med en streng som en iterator
Vi kan også gøre brug af map() på en streng. I Python, en streng fungerer som en matrix, så vi nemt kan bruge den inde i kortet().
I eksemplet har vi en funktion myMapFunc() der sørger for at konvertere den givne streng til store bogstaver. Funktionen myMapFunc () er givet til map()-funktionen. Kortfunktionen sørger for at konvertere strengen 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="")
Output:
<map object at 0x000000DF2E711748> WELCOME TO GURU99 TUTORIALS!
Brug af map() med listof Numbers
At arbejde med listen i map() vil tage en liste med tal og gange hvert tal på listen med 10.
Listen som 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 er givet til at kortlægge sammen med listen.
Eksempel:
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))
Output:
<map object at 0x000000EE2C061898> [20, 30, 40, 50, 60, 70, 80, 90]
Det output, vi ser, er, at hvert tal på listen er
ganget med 10.
Brug af map() med Tuple
En tupel er en genstand i Python der har elementer adskilt af kommaer og omgivet af runde parenteser. I eksemplet tager vi en tupel med strengværdier. Funktionen, som vi vil bruge, vil konvertere værdierne givet 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))
Output:
<map object at 0x0000009C3C3A16A0> ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']
Det output, vi får, er en tupel tilbage med alle værdierne i den konverteret til store bogstaver.
Brug af map() med ordbog
A 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 map() funktion.
Følgende eksempel viser, hvordan ordbog iterator fungerer i 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))
Output:
<map object at 0x0000007EB451DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Brug af map() med Set
Sat i Python er en uordnet samling af varer i krøllede parenteser(()). Da set() også er en iterator, kan du bruge den i map()-funktionen.
Her er et fungerende eksempel på brug af set som en iterator inde i 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))
Output:
<map object at 0x000000AC8F05DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Brug af map() med Lambda-funktion
In 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 map(). Lambdafunktionen vil gange 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))
Output:
<map object at 0x000000BD18B11898> [20, 30, 40, 50, 60, 70, 80, 90]
Brug af flere iteratorer inde i map()-funktionen
Eksempel 1: Videregivelse af to listeiteratorer til map()
Du kan sende mere end én iterator, f.eks. en liste, en tupel, osv. alle på samme tid til map()-funktionen.
For eksempel hvis du vil tilføje to lister. Det samme kan gøres ved at bruge map()-funktionen. Vi kommer til at gøre brug af to lister min_liste1 og min_liste2.
I eksemplet nedenfor føjes det første element i min_liste1 til det første element i min_liste2. Funktionen myMapFunc() tager elementer af min_liste1 og min_liste2 ind og returnerer summen af begge.
Her er arbejdseksemplet på at tilføje to givne lister ved hjælp af map()-funktionen.
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))
Output:
<map object at 0x0000004D5F751860> [6, 11, 16, 21, 26, 31, 36]
Eksempel 2: Send en Tuple og en listeiterator til map()
Vi kommer til at gøre brug af en liste og en tupel iterator i map() funktion. Funktionen er givet til at kortlægge – myMapFunc() vil hente elementerne fra listen og Tuple. Elementerne vil blive sammenføjet med en understregning(_). Arbejdseksemplet er som vist nedenfor:
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))
Output:
<map object at 0x00000059F37BB4E0> ['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']
Resumé
- Python map() er en indbygget funktion, der anvender en funktion på alle elementerne i en iterator givet som input. En iterator kan for eksempel være en liste, en tupel, en streng osv. og den returnerer et iterbart kortobjekt.
- Map()-funktionen kommer til at anvende den givne funktion på alle elementer inde i iteratoren og returnere et iterbart kortobjekt, dvs. en tupel, en liste osv.
- Python map()-funktionen er en indbygget funktion og kan også bruges med andre indbyggede funktioner, der er tilgængelige i Python.
- En tupel er en genstand i Python der har elementer adskilt af kommaer og omgivet af runde parenteser. I eksemplet vil tage en tuple med strengværdier. Funktionen, som vi vil bruge, vil konvertere værdierne givet 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.
- Sat i Python er en uordnet samling af varer i krøllede parenteser(()). Da set() også er en iterator, kan du bruge den i map()-funktionen.
- In 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 i kortet().
- Du kan sende mere end én iterator, dvs. en liste, en tuple til map()-funktionen.