Python map()-funktion med EXEMPEL
โก Smart sammanfattning
Python map() tillรคmpar en given funktion pรฅ varje element i en iterabel variabel, sรฅsom en lista, tupel, mรคngd, ordbok eller strรคng. Den returnerar ett lazy map-objekt som du konverterar med list() eller itererar med en loop.

syntax
map(function, iterator1,iterator2 ...iteratorN)
Driftparametrar
Hรคr รคr tvรฅ viktiga parametrar:
- fungera: En obligatorisk funktion som ska ges till map(), vilken kommer att tillรคmpas pรฅ alla objekt som รคr tillgรคngliga i iteratorn.
- iterator: Ett obligatoriskt itererbart objekt. Det kan vara en lista, en tupel, etc. Du kan skicka flera iteratorobjekt till map()-funktionen.
Returvรคrde
Funktionen map() tillรคmpar den givna funktionen pรฅ alla objekt inuti iteratorn och returnerar ett itererbart map-objekt, dvs. en tupel, en lista, etc.
Hur fungerar map()-funktionen?
Funktionen map() tar tvรฅ indata: en funktion och ett itererbart objekt. Funktionen som ges till map() รคr en normal funktion, och den itererar รถver alla vรคrden som finns i det 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 en funktion som returnerar kvadraten av det givna talet. Funktionen รคr som fรถljer:
def square(n): return n*n
Listan รถver objekt som vi vill hitta kvadraten fรถr รคr fรถljande:
my_list = [2,3,4,5,6,7,8,9]
Nu ska vi anvรคnda den inbyggda funktionen map() fรถr att fรฅ kvadraten pรฅ varje objekt 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 visas ovan, รคr ett kartobjekt som visas pรฅ skรคrmen som .
Du mรฅste iterera utdata frรฅn map() med hjรคlp av en for-loop eller list()-metoden fรถr att fรฅ den slutliga utdata. Jag har anvรคnt list() i koden fรถr att visa vรคrdena i den givna listan.
Sรฅ med hjรคlp av 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() fick vi utdata [4, 9, 16, 25, 36, 49, 64, 81].
Funktionen map() tillรคmpar funktionen square() pรฅ alla objekt i listan. Till exempel tar den variabeln my_list och uppdaterar listan med kvadraten av varje tal. Utdata lagras i variabeln updated_list.
Anvรคnder map() med Python inbyggda funktioner
Ocuco-landskapet Python map()-funktionen รคr en inbyggd funktion och kan รคven anvรคndas med andra inbyggda funktioner som finns i PythonI det hรคr exemplet kommer vi att anvรคnda oss av Python round() inbyggd funktion som avrundar de givna vรคrdena.
Exempel:
Listan 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, sรฅ 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 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รฅ vi kan enkelt anvรคnda den inuti map().
I det hรคr exemplet har vi en funktion myMapFunc() som tar hand om att konvertera den givna strรคngen till versaler. Funktionen myMapFunc() ges till map()-funktionen. map()-funktionen tar hand om att konvertera den givna strรคngen 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รคnda map() med en lista รถver Numbers
Fรถr att arbeta med en lista i map() tar vi en lista med tal och multiplicerar varje tal i listan med 10.
Listan vi ska 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 till map() tillsammans med listan.
Exempel:
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]
Utdata vi ser รคr att varje tal i listan multipliceras med 10.
Anvรคnder map() med Tuple
En tuppel รคr ett fรถremรฅl i Python som har objekt separerade med kommatecken och omgivna av runda parenteser. I det hรคr exemplet tar vi en tupel med strรคngvรคrden. Funktionen vi anvรคnder kommer att konvertera de givna vรคrdena 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:
<map object at 0x0000009C3C3A16A0> ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']
Utdata vi fรฅr รคr en tupel bakรฅt med alla vรคrden i den konverterade till versaler.
Anvรคnda map() med Dictionary
A ordbok i Python skapas med hjรคlp av klammerparenteser ({}). Eftersom ordboken รคr en iterator kan du anvรคnda den inuti map()-funktionen. Lรฅt oss nu anvรคnda en ordbok som en iterator inuti map().
Fรถljande exempel visar hur en ordboksiterator fungerar inuti 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
En uppsรคttning i Python รคr en oordnad samling av objekt inom klammerparenteser ({}). Eftersom set() ocksรฅ รคr en iterator kan du anvรคnda den inuti map()-funktionen.
Hรคr รคr ett fungerande exempel pรฅ hur man anvรคnder en uppsรคttning 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 det hรคr exemplet ska vi anvรคnda lambdafunktionen i map(). Lambdafunktionen 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:
<map object at 0x000000BD18B11898>
[20, 30, 40, 50, 60, 70, 80, 90]
Anvรคnda flera iteratorer inuti map()-funktionen
Exempel 1: Skicka tvรฅ listiteratorer till map()
Du kan skicka mer รคn en iterator, dvs. en lista, en tupel etc., samtidigt till map()-funktionen.
Om du till exempel vill lรคgga till tvรฅ listor kan du gรถra samma sak med hjรคlp av 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 my_list1 och my_list2 och returnerar summan av bรฅda.
Hรคr รคr ett exempel pรฅ hur man lรคgger till tvรฅ givna listor med hjรคlp av funktionen map().
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 tupel och en listiterator till map()
Vi kommer att anvรคnda en lista och en tupel-iterator i map()-funktionen. Funktionen som ges till map(), myMapFunc(), kommer att hรคmta objekten frรฅn listan och tupeln. Objekten kommer att kopplas samman med ett understreck (_). Exemplet 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']
