Python map () tillämpar en funktion på alla objekt i en iterator som anges. En iterator kan till exempel vara en lista, en tuple, en uppsättning, en ordlista, en sträng och den returnerar ett iterabelt kartobjekt. Python map () är en inbyggd funktion.
I den här handledningen lär du dig:
- Syntax:
- Hur fungerar map () -funktionen?
- Använda karta () med inbyggda Python-funktioner
- Använda karta () med en sträng som en iterator
- Använda karta () med lista över nummer
- Använda karta () med Tuple
- Använda karta () med ordbok
- Använda karta () med Set
- Använda karta () med Lambda-funktion
- Använda flera Iteratorer inuti kartfunktionen ()
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 i iteratorn.
- iterator: Ett iterabelt obligatoriskt objekt. Det kan vara en lista, en tuple, etc. Du kan skicka flera iteratorobjekt till kartfunktionen ().
Returvärde
Map () -funktionen kommer att tillämpa den givna funktionen på alla objekt inuti iteratorn och returnera ett iterabelt kartobjekt, dvs en tuple, en lista etc.
Hur fungerar map () -funktionen?
Map () -funktionen tar två ingångar som en funktion och ett iterabelt objekt. Funktionen som ges till map () är en normal funktion, och den kommer att iterera över alla värden som finns i det givna iterabla objektet.
Tänk till exempel att du har en lista med siffror och att du vill hitta kvadraten på vart och ett av siffrorna.
För att få utdata behöver vi funktionen som returnerar kvadraten för det angivna numret. Funktionen kommer att vara som följer:
def square(n):return n*n
Listan med objekt som vi vill hitta torget är som följer:
my_list = [2,3,4,5,6,7,8,9]
Låt oss nu använda map () python-inbyggd funktion för att få kvadraten för var och en av objekten i min_lista.
Den slutliga koden är som följer:
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:
Utdata från kartfunktionen, som visas i utgången, är ett kartobjekt som visas på skärmen som
Du måste iterera utdata från kartan med en for-loop eller med hjälp av list () -metoden för att få den slutliga utdata. Jag har använt list () i koden som visar värdena i listan.
Så med hjälp av map () -funktionen kan vi få kvadraten för varje nummer. Listan som gavs till kartan var [2,3,4,5,6,7,8,9] och med hjälp av funktions kvadrat () utdata från karta () vi fick är [4, 9, 16, 25, 36, 49, 64, 81].
Funktionskartan () tillämpar funktionsrutan () på alla objekt i listan. Till exempel, min_listvariabel och uppdaterar listan med kvadraten för varje nummer. Out lagras i variabeln updated_list.
Använda karta () med inbyggda Python-funktioner
Python map () -funktionen är en inbyggd funktion och kan också användas med andra inbyggda funktioner som finns i Python. I exemplet ska vi använda Python round () inbyggd funktion som rundar de angivna värdena.
Exempel:
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 kartlägga ().
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:
Funktionen round () tillämpas på alla objekt i listan och den returnerar en lista med alla värden rundade som visas i utdata.
Använda karta () med en sträng som en iterator
Vi kan också använda map () på en sträng. I Python fungerar en sträng som en matris så att vi enkelt kan använda den på kartan ().
I exemplet har vi en funktion myMapFunc () som tar hand om att konvertera den angivna 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:
Använda karta () med lista över nummer
Att arbeta med listan i karta () tar en lista med siffror och multiplicerar varje nummer i listan med 10.
Listan som vi ska använda är: [2,3,4,5,6,7,8,9]. Funktionen myMapFunc () tar hand om att multiplicera det angivna numret med 10. Funktionen ges för att mappa tillsammans med listan.
Exempel:
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:
Resultatet vi ser är att varje nummer i listan är
multiplicerat med 10.
Använda karta () med Tuple
En tuple är ett objekt i Python som har objekt åtskilda av kommatecken och omges av runda parenteser. I exemplet tar vi en tuple med strängvärden. Funktionen som vi använder kommer att konvertera värdena som anges till versaler.
Exempel:
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:
Utgången vi får är en tupel tillbaka med alla värden i den omvandlas till versaler.
Använda karta () med ordbok
En ordbok i Python skapas med hjälp av lockiga parenteser ({}). Eftersom ordboken är en iterator kan du använda den i map () -funktionen. Låt oss nu använda en ordbok som en iterator inuti map () -funktionen.
Följande exempel visar hur ordet iterator fungerar på kartan ()
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:
Använda karta () med Set
Set in Python är en oordnad samling av objekt i lockiga parenteser (()). Eftersom set () också är en iterator kan du använda den i map () -funktionen.
Här är ett fungerande exempel på hur du använder set som en iterator på kartan ()
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:
Använda karta () med Lambda-funktion
I Python används lambdauttryck för att konstruera anonyma funktioner. Du måste använda lambda-nyckelordet precis som du använder def för att definiera normala funktioner.
Så i exemplet ska vi använda lambdafunktionen inuti kartan (). Lambda-funktionen multiplicerar varje värde i listan med 10.
Exempel:
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:
Använda flera Iteratorer inuti kartfunktionen ()
Exempel 1: Skicka två lista iteratorer till karta ()
Du kan skicka mer än en iterator, dvs en lista, en tuple, etc. samtidigt till kartfunktionen ().
Till exempel om du vill lägga till två listor. Detsamma kan göras med funktionen map (). Vi kommer att använda två listor my_list1 och my_list2.
I exemplet nedan läggs det första objektet i my_list1 till det första objektet i my_list2. Funktionen myMapFunc () tar in objekt från min_list1 och min_list2 och returnerar summan av båda.
Här är arbetsexemplet för att lägga till två listor med hjälp av 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:
Exempel 2: Skicka en Tuple och en lista iterator till karta ()
Vi kommer att använda en lista och en tuple iterator i map () -funktionen. Funktionen ges till karta - myMapFunc () hämtar objekten från listan och Tuple. Objekten förenas med en understrykning (_). Arbetsexemplet är som visas nedan:
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:
Sammanfattning
- Python-karta () är en inbyggd funktion som tillämpar en funktion på alla objekt i en iterator som anges. En iterator kan till exempel vara en lista, en tuple, en sträng etc. och den returnerar ett iterabelt kartobjekt.
- Map () -funktionen kommer att tillämpa den givna funktionen på alla objekt inuti iteratorn och returnera ett iterabelt kartobjekt, dvs en tuple, en lista etc.
- Python map () -funktionen är en inbyggd funktion och kan också användas med andra inbyggda funktioner som finns i Python.
- En tuple är ett objekt i Python som har objekt åtskilda av kommatecken och omges av runda parenteser. I exemplet tar en tuple med strängvärden. Funktionen som vi använder kommer att konvertera värdena som anges till versaler.
- En ordbok i Python skapas med hjälp av lockiga parenteser ({}). Eftersom ordboken är en iterator kan du använda den i map () -funktionen.
- Set in Python är en oordnad samling av objekt i lockiga parenteser (()). Eftersom set () också är en iterator kan du använda den i map () -funktionen.
- I Python används lambdauttryck (eller lambdaformer) för att konstruera anonyma funktioner. Så lambda-nyckelordet måste användas när du vill använda lambda på kartan ().
- Du kan skicka mer än en iterator, dvs en lista, en tuple till kartfunktionen ().