Python map() funksjon med EKSEMPLER
Python map() bruker en funksjon på alle elementene i en iterator gitt som input. En iterator, for eksempel, kan være en liste, en tuppel, et sett, en ordbok, en streng, og den returnerer et itererbart kartobjekt. Python map() er en innebygd funksjon.
syntax
map(function, iterator1,iterator2 ...iteratorN)
Parametre
Her er to viktige
- funksjon: En obligatorisk funksjon som skal gis til kart, som vil bli brukt på alle elementene som er tilgjengelige i iteratoren.
- iterator: Et gjentakelig obligatorisk objekt. Det kan være en liste, en tuppel, osv. Du kan sende flere iteratorobjekter til map()-funksjonen.
Returverdi
Map()-funksjonen kommer til å bruke den gitte funksjonen på alle elementene inne i iteratoren og returnere et iterbart kartobjekt, dvs. en tuppel, en liste, etc.
Hvordan fungerer map()-funksjonen?
Map()-funksjonen tar to innganger som en funksjon og et iterbart objekt. Funksjonen som er gitt til map() er en normal funksjon, og den vil iterere over alle verdiene som er tilstede i det gjentatte gjentakbare objektet.
Tenk for eksempel at du har en liste med tall, og du vil finne kvadratet til hvert av tallene.
For å få utdata, trenger vi funksjonen som vil returnere kvadratet av det gitte tallet. Funksjonen vil være som følger:
def square(n): return n*n
Listen over elementer som vi ønsker å finne firkanten er som følger:
my_list = [2,3,4,5,6,7,8,9]
La oss nå bruke map() python innebygd funksjon for å få kvadratet av hvert av elementene i my_list.
Den endelige koden 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))
Utgang:
<map object at 0x0000002C59601748> [4, 9, 16, 25, 36, 49, 64, 81]
Utdata fra map()-funksjonen, som vist i utdata, er et kartobjekt som vises på skjermen som .
Du må iterere utdataene fra kartet ved å bruke en for-loop eller bruke list()-metoden for å få den endelige utgangen. Jeg har brukt list() i koden som viser verdiene i listen som er gitt.
Så ved å bruke map()-funksjonen kan vi få kvadratet til hvert tall. Listen som ble gitt til kartet var [2,3,4,5,6,7,8,9] og ved å bruke funksjonen square() utdataene fra map() vi fikk er [4, 9, 16, 25, 36, 49, 64, 81] .
Funksjonskartet() bruker funksjonen square() på alle elementene på listen. For eksempel, min_liste variabel og oppdaterer listen med kvadratet av hvert tall. Uten lagres i updated_list-variabelen.
Bruker map() med Python innebygde funksjoner
Python map()-funksjonen er en innebygd funksjon og kan også brukes med andre innebygde funksjoner tilgjengelig i Python. I eksempelet skal vi benytte oss av Python round() innebygd funksjon som runder av verdiene som er gitt.
Eksempel:
Listen jeg har er my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907] .
Jeg trenger de avrundede verdiene for hvert element i listen. Vi vil bruke round() som funksjon for å kartlegge().
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))
Utgang:
<map object at 0x000000E65F901748> [3, 4, 4, 6, 6, 8, 8, 10]
round()-funksjonen brukes på alle elementene i listen, og den returnerer en liste med alle verdier avrundet som vist i utdataene.
Bruke map() med en streng som en iterator
Vi kan også bruke map() på en streng. I Python, en streng fungerer som en matrise slik at vi enkelt kan bruke den inne i kartet().
I eksemplet har vi en funksjon myMapFunc() som tar seg av å konvertere den gitte strengen til store bokstaver. Funksjonen myMapFunc () er gitt til map()-funksjonen. Kartfunksjonen vil ta seg av å konvertere strengen gitt til store bokstaver ved å 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="")
Utgang:
<map object at 0x000000DF2E711748> WELCOME TO GURU99 TUTORIALS!
Bruker map() med listof Numbers
For å jobbe med listen i map() tar du en liste med tall og multipliserer hvert tall i listen med 10.
Listen vi skal bruke er: [2,3,4,5,6,7,8,9]. Funksjonen myMapFunc () tar seg av å multiplisere det gitte tallet med 10. Funksjonen er gitt for å kartlegge 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))
Utgang:
<map object at 0x000000EE2C061898> [20, 30, 40, 50, 60, 70, 80, 90]
Utgangen vi ser er at hvert tall i listen er
ganget med 10.
Bruke map() med Tuple
En tuppel er en gjenstand i Python som har elementer atskilt med komma og omsluttet av runde parenteser. I eksemplet tar vi en tuppel med strengverdier. Funksjonen vi skal bruke vil konvertere verdiene som er gitt til store bokstaver.
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))
Utgang:
<map object at 0x0000009C3C3A16A0> ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']
Utgangen vi får er en tuppel tilbake med alle verdiene i den er konvertert til store bokstaver.
Bruke map() med Dictionary
A ordbok i Python er opprettet med krøllete parenteser({}). Siden ordboken er en iterator, kan du bruke den i map()-funksjonen. La oss nå bruke en ordbok som en iterator i map()-funksjonen.
Følgende eksempel viser hvordan ordbok-iteratoren 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))
Utgang:
<map object at 0x0000007EB451DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Bruke map() med Set
Satt i Python er en uordnet samling av varer i krøllete parentes(()). Siden set() også er en iterator, kan du bruke den i map()-funksjonen.
Her er et fungerende eksempel på bruk av set 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))
Utgang:
<map object at 0x000000AC8F05DEF0> [20, 30, 40, 50, 60, 70, 80, 90]
Bruker map() med Lambda-funksjon
In Python, brukes lambda-uttrykk for å konstruere anonyme funksjoner. Du må bruke lambda nøkkelordet akkurat som du bruker def for å definere normale funksjoner.
Så i eksemplet skal vi bruke lambda-funksjonen inne i kartet(). Lambda-funksjonen vil multiplisere hver verdi 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))
Utgang:
<map object at 0x000000BD18B11898> [20, 30, 40, 50, 60, 70, 80, 90]
Bruke flere iteratorer i map()-funksjonen
Eksempel 1: Sende to listeiteratorer til map()
Du kan sende mer enn én iterator, dvs. en liste, en tuppel, osv. alt samtidig til map()-funksjonen.
For eksempel hvis du vil legge til to lister. Det samme kan gjøres ved å bruke map()-funksjonen. Vi kommer til å bruke to lister min_liste1 og min_liste2.
I eksemplet nedenfor blir det første elementet i min_liste1 lagt til det første elementet i min_liste2. Funksjonen myMapFunc() tar inn elementer av min_liste1 og min_liste2 og returnerer summen av begge.
Her er arbeidseksemplet på å legge til to gitte lister ved å bruke map()-funksjonen.
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))
Utgang:
<map object at 0x0000004D5F751860> [6, 11, 16, 21, 26, 31, 36]
Eksempel 2: Sender en Tuple og en listeiterator for å kartlegge()
Vi skal bruke en liste og en tuppel-iterator i map()-funksjonen. Funksjonen er gitt for å kartlegge – myMapFunc() vil få elementene fra listen og Tuple. Elementene vil bli satt sammen med et understrek(_). Arbeidseksemplet 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))
Utgang:
<map object at 0x00000059F37BB4E0> ['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']
Sammendrag
- Python map() er en innebygd funksjon som bruker en funksjon på alle elementene i en iterator gitt som input. En iterator, for eksempel, kan være en liste, en tuppel, en streng osv. og den returnerer et itererbart kartobjekt.
- Map()-funksjonen kommer til å bruke den gitte funksjonen på alle elementene inne i iteratoren og returnere et iterbart kartobjekt, dvs. en tuppel, en liste, etc.
- Python map()-funksjonen er en innebygd funksjon og kan også brukes med andre innebygde funksjoner tilgjengelig i Python.
- En tuppel er en gjenstand i Python som har elementer atskilt med komma og omsluttet av runde parenteser. I eksemplet vil ta en tuppel med strengverdier. Funksjonen vi skal bruke vil konvertere verdiene som er gitt til store bokstaver.
- En ordbok i Python er opprettet med krøllete parenteser({}). Siden ordboken er en iterator, kan du bruke den i map()-funksjonen.
- Satt i Python er en uordnet samling av varer i krøllete parentes(()). Siden set() også er en iterator, kan du bruke den i map()-funksjonen.
- In Python, lambda-uttrykk (eller lambda-former) brukes til å konstruere anonyme funksjoner. Så lambda nøkkelordet må brukes når du vil bruke lambda inne i kartet().
- Du kan sende mer enn én iterator, dvs. en liste, en tuppel til map()-funksjonen.