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)

Driftsparametre

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.

Opsummer dette indlรฆg med: