Python map() Funktion med EKSEMPLER
โก Smart opsummering
Python map() anvender en given funktion pรฅ hvert element i en iterabel funktion, sรฅsom en liste, tuple, sรฆt, ordbog eller streng. Den returnerer et lazy map-objekt, som du konverterer med list() eller itererer ved hjรฆlp af en lรธkke.

Syntaks
map(function, iterator1,iterator2 ...iteratorN)
Driftsparametre
Her er to vigtige parametre:
- fungere: En obligatorisk funktion, der skal gives til map(), og som vil blive anvendt pรฅ alle elementer, der er tilgรฆngelige i iteratoren.
- iterator: Et obligatorisk itererbart objekt. Det kan vรฆre en liste, en tuple osv. Du kan sende flere iteratorobjekter til map()-funktionen.
Returvรฆrdi
Funktionen map() anvender den givne funktion pรฅ alle elementerne i iteratoren og returnerer et itererbart map-objekt, dvs. en tuple, en liste osv.
Hvordan fungerer map()-funktionen?
Funktionen map() tager to input: en funktion og et itererbart objekt. Funktionen givet til map() er en normal funktion, og den itererer over alle de vรฆrdier, der findes i det itererbare objekt.
Overvej for eksempel, at du har en liste over tal, og du vil finde kvadratet af hvert af tallene.
For at fรฅ outputtet skal vi bruge en funktion, der returnerer kvadratet af det givne tal. Funktionen er som fรธlger:
def square(n): return n*n
Listen over elementer, som vi vil finde kvadratet for, er som fรธlger:
my_list = [2,3,4,5,6,7,8,9]
Lad os nu bruge den indbyggede funktionen map() til at finde 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 fra map()-funktionen, som vist ovenfor, er et kortobjekt, der vises pรฅ skรฆrmen som .
Du skal iterere outputtet fra map() ved hjรฆlp af en for-loop eller list()-metoden for at fรฅ det endelige output. Jeg har brugt list() i koden til at vise vรฆrdierne i den givne liste.
Sรฅ ved at bruge map()-funktionen kan vi fรฅ kvadratet af hvert tal. Listen givet til map() var [2,3,4,5,6,7,8,9], og ved at bruge funktionen square() fik vi [4, 9, 16, 25, 36, 49, 64, 81].
Funktionen map() anvender funktionen square() pรฅ alle elementerne i listen. For eksempel tager den variablen my_list og opdaterer listen med kvadratet af hvert tal. Outputtet 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 PythonI dette eksempel vil vi bruge Python round() er en indbygget funktion, der afrunder de givne vรฆrdier.
Eksempel:
Den liste jeg har er my_list = [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, sรฅ vi bruger round() som funktionen til at mappe().
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, fungerer en streng som et array, sรฅ vi kan nemt bruge den inde i map().
I dette eksempel har vi en funktion myMapFunc(), der konverterer den givne streng til store bogstaver. Funktionen myMapFunc() gives til map()-funktionen. map()-funktionen vil konvertere den givne streng 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 en liste over Numbers
For at arbejde med en liste i map() tager vi en liste af tal og ganger hvert tal i 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 map() 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 i listen ganges med 10.
Brug af map() med Tuple
En tupel er en genstand i Python der har elementer adskilt af kommaer og omsluttet af runde parenteser. I dette eksempel tager vi en tuple med strengvรฆrdier. Den funktion, vi bruger, konverterer de givne 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))
Output:
<map object at 0x0000009C3C3A16A0> ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']
Det output, vi fรฅr, er en tuple back 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 i map().
Fรธlgende eksempel viser, hvordan en ordbogsiterator 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
Et sรฆt i Python er en uordnet samling af elementer i krรธllede parenteser ({}). Da set() ogsรฅ er en iterator, kan du bruge den i map()-funktionen.
Her er et fungerende eksempel pรฅ brugen af โโet sรฆt som en iterator 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 dette eksempel bruger vi lambda-funktionen i map(). Lambda-funktionen ganger hver vรฆrdi i 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 i map()-funktionen
Eksempel 1: Overfรธrsel af to listeiteratorer til map()
Du kan sende mere end รฉn iterator, dvs. en liste, en tuple osv., alle pรฅ samme tid til map()-funktionen.
Hvis du for eksempel vil tilfรธje to lister, kan det samme gรธres ved hjรฆlp af map()-funktionen. Vi vil bruge to lister, my_list1 og my_list2.
I eksemplet nedenfor tilfรธjes det fรธrste element i my_list1 til det fรธrste element i my_list2. Funktionen myMapFunc() tager elementer fra my_list1 og my_list2 og returnerer summen af โโbegge.
Her er et eksempel pรฅ, hvordan man tilfรธjer 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: Overfรธrsel af รฉn tuple og en listeiterator til map()
Vi vil bruge en liste- og en tuple-iterator i map()-funktionen. Funktionen myMapFunc(), der er givet til map(), vil hente elementerne fra listen og tuplen. Elementerne vil blive forbundet med et understregningstegn (_). Eksemplet pรฅ arbejdet er 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']
