Python map () bruker en funksjon på alle elementene i en iterator gitt som input. En iterator kan for eksempel være en liste, en tuple, et sett, en ordbok, en streng, og den returnerer et iterabel kartobjekt. Python map () er en innebygd funksjon.
I denne opplæringen lærer du:
- Syntaks:
- Hvordan fungerer kart () -funksjonen?
- Bruke kart () med Python innebygde funksjoner
- Bruke kart () med en streng som en iterator
- Bruke kart () med liste over tall
- Bruke kart () med Tuple
- Bruke kart () med ordbok
- Bruke kart () med Set
- Bruke kart () med Lambda-funksjon
- Bruke flere Iteratorer inne i kart () -funksjonen
Syntaks:
map(function, iterator1,iterator2… iteratorN)
Parametere
Her er to viktige
- funksjon: En obligatorisk funksjon som skal gis til kartet, som vil bli brukt på alle elementene som er tilgjengelige i iteratoren.
- iterator: Et gjentakende obligatorisk objekt. Det kan være en liste, en tuple osv. Du kan sende flere iteratorobjekter til kartfunksjonen ().
Returverdi
Map () -funksjonen skal bruke den gitte funksjonen på alle elementene i iteratoren og returnere et iterabelt kartobjekt, dvs. en tuple, en liste osv.
Hvordan fungerer kart () -funksjonen?
Map () -funksjonen tar to innganger som en funksjon og et iterabelt objekt. Funksjonen som er gitt til map () er en normal funksjon, og den vil gjenta over alle verdiene som er tilstede i det gjengivne iterable objektet.
Vurder for eksempel at du har en liste med tall, og at du vil finne kvadratet til hvert av tallene.
For å få utdata, trenger vi funksjonen som vil returnere kvadratet til det angitte 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 til hvert av elementene i min_liste.
Den endelige koden er som følger:
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))
Produksjon:
Utdataene til kartfunksjonen, som vist i utdataene, er et kartobjekt som vises på skjermen som
Du må gjenta utdataene fra kartet ved hjelp av en for-loop eller ved hjelp av list () -metoden for å få den endelige utgangen. Jeg har brukt liste () i koden som viser verdiene i listen gitt.
Så ved hjelp av kart () -funksjonen, er vi i stand til å få kvadratet til hvert tall. Listen gitt til kartet var [2,3,4,5,6,7,8,9] og ved å bruke funksjonen kvadrat () utgangen fra kart () vi fikk er [4, 9, 16, 25, 36, 49, 64, 81].
Funksjonskartet () bruker funksjonsfeltet () på alle elementene på listen. For eksempel, min_listvariabel og oppdaterer listen med kvadratet til hvert tall. Uten er lagret i den oppdaterte listen.
Bruke kart () med Python innebygde funksjoner
Python map () -funksjon er en innebygd funksjon og kan også brukes med andre innebygde funksjoner som er tilgjengelige i Python. I eksemplet skal vi bruke Python round () innebygd funksjon som avrunder 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 som er tilstede i listen. Vi vil bruke runde () 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))
Produksjon:
Round () -funksjonen brukes på alle elementene i listen, og den returnerer en liste med alle verdier avrundet som vist i utdataene.
Bruke kart () med en streng som en iterator
Vi kan også bruke map () på en streng. I Python fungerer en streng 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 tar seg av konvertering av 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)
Produksjon:
Bruke kart () med liste over tall
For å jobbe med listen i kart () 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*10my_list = [2,3,4,5,6,7,8,9]updated_list = map(myMapFunc, my_list)print(updated_list)print(list(updated_list))
Produksjon:
Resultatet vi ser er at hvert tall i listen er
multiplisert med 10.
Bruke kart () med Tuple
En tuple er et objekt i Python som har elementer adskilt med komma og omsluttet av runde parenteser. I eksemplet tar vi en tuple med strengverdier. Funksjonen vi skal bruke vil konvertere verdiene 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))
Produksjon:
Utgangen vi får er en tuple tilbake med alle verdiene i den blir konvertert til store bokstaver.
Bruke kart () med ordbok
En ordbok i Python er opprettet ved hjelp av krøllete parenteser ({}). Siden ordboken er en iterator, kan du bruke den i kart () -funksjonen. La oss nå bruke en ordbok som en iterator inne i kart () -funksjonen.
Følgende eksempel viser hvordan ordbokens iterator fungerer på kartet ()
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))
Produksjon:
Bruke kart () med Set
Sett i Python er en uordnet samling av elementer i krøllete parenteser (()). Siden set () også er en iterator, kan du bruke den i map () -funksjonen.
Her er et fungerende eksempel på bruk av sett som en iterator på kartet ()
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))
Produksjon:
Bruke kart () med Lambda-funksjon
I Python blir lambdauttrykk brukt til å 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))
Produksjon:
Bruke flere Iteratorer inne i kart () -funksjonen
Eksempel 1: Overføring av to listeiteratorer til kart ()
Du kan sende mer enn en iterator, det vil si en liste, en tuple osv. Samtidig til kartfunksjonen.
For eksempel hvis du vil legge til to lister. Det samme kan gjøres ved hjelp av kartfunksjonen (). Vi skal bruke to lister my_list1 og my_list2.
I eksemplet nedenfor legges det første elementet i my_list1 til det første elementet i my_list2. Funksjonen myMapFunc () tar inn elementer fra min_liste1 og min_liste2 og returnerer summen av begge.
Her er arbeidseksemplet for å legge til to gitte lister ved hjelp av map () -funksjonen.
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))
Produksjon:
Eksempel 2: Gi en Tuple og en listeterator til kart ()
Vi skal bruke en liste og en tupel iterator i kart () -funksjonen. Funksjonen er gitt til kart - myMapFunc () vil få elementene fra listen og Tuple. Elementene blir sammenføyd med en understreking (_). Arbeidseksemplet er som vist nedenfor:
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))
Produksjon:
Sammendrag
- Python map () er en innebygd funksjon som bruker en funksjon på alle elementene i en iterator gitt som inngang. En iterator kan for eksempel være en liste, en tuple, en streng osv., Og den returnerer et iterabel kartobjekt.
- Map () -funksjonen skal bruke den gitte funksjonen på alle elementene i iteratoren og returnere et iterabelt kartobjekt, dvs. en tuple, en liste osv.
- Python map () -funksjon er en innebygd funksjon og kan også brukes med andre innebygde funksjoner som er tilgjengelige i Python.
- En tuple er et objekt i Python som har elementer adskilt med komma og omsluttet av runde parenteser. I eksemplet vil det ta en tuple med strengverdier. Funksjonen vi skal bruke vil konvertere verdiene gitt til store bokstaver.
- En ordbok i Python er opprettet ved hjelp av krøllete parenteser ({}). Siden ordboken er en iterator, kan du bruke den i kart () -funksjonen.
- Sett i Python er en uordnet samling av elementer i krøllete parenteser (()). Siden set () også er en iterator, kan du bruke den i map () -funksjonen.
- I Python brukes lambda-uttrykk (eller lambda-former) til å konstruere anonyme funksjoner. Så lambda-nøkkelordet må brukes når du vil bruke lambda inne på kartet ().
- Du kan sende mer enn en iterator, dvs. en liste, en tuple til kartfunksjonen ().