Python map() funktion med EXEMPEL

Python map() tillämpar en funktion på alla objekt i en iterator som ges som indata. En iterator, till exempel, kan vara en lista, en tuppel, en uppsättning, en ordbok, en sträng, och den returnerar ett itererbart kartobjekt. Python map() är en inbyggd funktion.

syntax

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

parametrar

Här är två viktiga

  • funktion: En obligatorisk funktion som ska ges till kartan, som kommer att tillämpas på alla objekt som finns tillgängliga i iteratorn.
  • iterator: Ett iterabelt obligatoriskt objekt. Det kan vara en lista, en tuppel, etc. Du kan skicka flera iteratorobjekt till map()-funktionen.

Returvärde

Map()-funktionen kommer att tillämpa den givna funktionen på alla objekt i iteratorn och returnera ett itererbart kartobjekt, dvs en tupel, en lista, etc.

Hur fungerar map()-funktionen?

Map()-funktionen tar två ingångar som en funktion och ett iterbart objekt. Funktionen som ges till map() är en normal funktion, och den kommer att iterera över alla värden som finns i det givna itererbara objektet.

Tänk till exempel att du har en lista med siffror och att du vill hitta kvadraten på vart och ett av talen.

För att få utdata behöver vi funktionen som returnerar kvadraten på det givna talet. Funktionen blir som följer:

def square(n):
	return n*n

Listan över objekt som vi vill hitta torget är följande:

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

Låt oss nu använda map() python inbyggda funktion för att få kvadraten av vart och ett av objekten i my_list.

Den slutliga koden är som följer:

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

Produktion:

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

Utdata från map()-funktionen, som ses i utdata, är ett kartobjekt som visas på skärmen som .

Du måste iterera utdata från kartan med en for-loop eller med list()-metoden för att få den slutliga utdata. Jag har använt list() i koden som visar värdena i den angivna listan.

Så med funktionen map() kan vi få kvadraten på varje tal. Listan som gavs till map var [2,3,4,5,6,7,8,9] och med funktionen square() utdata från map() vi fick är [4, 9, 16, 25, 36, 49, 64, 81] .

Funktionen map() tillämpar funktionen square() på alla objekt i listan. Till exempel, my_list variabel och uppdaterar listan med kvadraten på varje tal. Out lagras i variabeln updated_list.

Använder map() med Python inbyggda funktioner

Python map()-funktionen är en inbyggd funktion och kan även användas med andra inbyggda funktioner som finns i Python. I exemplet kommer vi att använda oss av Python round() inbyggd funktion som avrundar de angivna värdena.

Exempelvis:

Listan som jag har är my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907] .

Jag behöver de avrundade värdena för varje objekt som finns i listan. Vi kommer att använda round() som funktion för att mappa().

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:

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

Funktionen round() tillämpas på alla objekt i listan, och den returnerar en lista med alla värden avrundade som visas i utdata.

Använder map() med en sträng som en iterator

Vi kan också använda map() på en sträng. I Python, en sträng fungerar som en array så att vi enkelt kan använda den inuti map().

I exemplet har vi en funktion myMapFunc() som tar hand om att konvertera den givna strängen till versaler. Funktionen myMapFunc () ges till map()-funktionen. Kartfunktionen tar hand om att konvertera strängen som ges till versaler genom att skicka strängen till 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:

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

Använder map() med listof Numbers

Att arbeta med listan i map() kommer att ta en lista med siffror och multiplicera varje nummer i listan med 10.

Listan som vi kommer att använda är: [2,3,4,5,6,7,8,9]. Funktionen myMapFunc () tar hand om att multiplicera det givna talet med 10. Funktionen ges för att mappa tillsammans med listan.

Exempelvis:

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

Produktion:

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

Utgången vi ser är att varje nummer i listan är

multiplicerat med 10.

Använder map() med Tuple

En tuppel är ett föremål i Python som har objekt separerade med kommatecken och omslutna av runda parenteser. I exemplet tar vi en tupel med strängvärden. Funktionen som vi kommer att använda kommer att konvertera värdena som ges till versaler.

Exempelvis:

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:

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

Utdatan vi får är en tuppelbaksida med alla värden i den omvandlas till versaler.

Använda map() med Dictionary

A ordbok i Python skapas med hakparenteser({}). Eftersom ordboken är en iterator kan du använda den i map()-funktionen. Låt oss nu använda en ordbok som en iterator i map()-funktionen.

Följande exempel visar hur ordboksiteratorn fungerar 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))

Produktion:

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

Använder map() med Set

Ange i Python är en oordnad samling objekt inom parentes(()). Eftersom set() också är en iterator, kan du använda den i map()-funktionen.

Här är ett fungerande exempel på användning av set som en iterator inuti 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))

Produktion:

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

Använder map() med Lambda-funktion

In Python, används lambda-uttryck för att konstruera anonyma funktioner. Du måste använda nyckelordet lambda precis som du använder def för att definiera normala funktioner.

Så i exemplet kommer vi att använda lambda-funktionen inuti map(). Lambdafunktionen multiplicerar varje värde i listan med 10.

Exempelvis:

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:

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

Använda flera iteratorer i map()-funktionen

Exempel 1: Skicka två listiteratorer till map()

Du kan skicka mer än en iterator, t.ex. en lista, en tuppel, etc. alla samtidigt till map()-funktionen.

Till exempel om du vill lägga till två listor. Detsamma kan göras med funktionen map() . Vi kommer att använda oss av två listor min_lista1 och min_lista2.

I exemplet nedan läggs det första objektet i min_lista1 till det första objektet i min_lista2. Funktionen myMapFunc() tar in objekt i min_lista1 och min_lista2 och returnerar summan av båda.

Här är arbetsexemplet på att lägga till två givna listor med 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))

Produktion:

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

Exempel 2: Skicka en Tuple och en listiterator till map()

Vi kommer att använda en lista och en tuppeliterator i map()-funktionen. Funktionen ges för att mappa – myMapFunc() kommer att hämta objekten från listan och Tuple. Objekten kommer att sammanfogas med ett understreck(_). Arbetsexemplet är som visas nedan:

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

Produktion:

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

Sammanfattning

  • Python map() är en inbyggd funktion som tillämpar en funktion på alla objekt i en iterator som ges som indata. En iterator, till exempel, kan vara en lista, en tuppel, en sträng, etc. och den returnerar ett iterbart kartobjekt.
  • Map()-funktionen kommer att tillämpa den givna funktionen på alla objekt i iteratorn och returnera ett itererbart kartobjekt, dvs en tupel, en lista, etc.
  • Python map()-funktionen är en inbyggd funktion och kan även användas med andra inbyggda funktioner som finns i Python.
  • En tuppel är ett föremål i Python som har objekt separerade med kommatecken och omslutna av runda parenteser. I exemplet kommer att ta en tupel med strängvärden. Funktionen som vi kommer att använda kommer att konvertera värdena som ges till versaler.
  • En ordbok i Python skapas med hakparenteser({}). Eftersom ordboken är en iterator kan du använda den i map()-funktionen.
  • Ange i Python är en oordnad samling objekt inom parentes(()). Eftersom set() också är en iterator, kan du använda den i map()-funktionen.
  • In Python, används lambda-uttryck (eller lambda-former) för att konstruera anonyma funktioner. Så nyckelordet lambda måste användas när du vill använda lambda inuti map().
  • Du kan skicka mer än en iterator, dvs en lista, en tuppel till map()-funktionen.