Map () -funksjonen bruker en gitt funksjon på hvert element i en iterabel (liste, tuple osv.) Og returnerer en liste over resultatene.
Syntaksen for map()
er:
kart (funksjon, iterabel, …)
map () Parameter
- funksjon -
map()
overfører hvert element i det iterable til denne funksjonen. - iterable - iterable som skal kartlegges
Du kan overføre mer enn en iterabel til map()
funksjonen.
Returneringsverdi fra kart ()
Den map()
funksjon gjelder en gitt funksjon til hvert element av en iterable og returnerer en liste av resultatene.
Den returnerte verdien fra map()
(kartobjekt) kan deretter overføres til funksjoner som liste () (for å lage en liste), sett () (for å lage et sett) og så videre.
Eksempel 1: Arbeid med kart ()
def calculateSquare(n): return n*n numbers = (1, 2, 3, 4) result = map(calculateSquare, numbers) print(result) # converting map object to set numbersSquare = set(result) print(numbersSquare)
Produksjon
(16, 1, 4, 9)
I eksemplet ovenfor er hvert element i tusen kvadratet.
Siden map()
forventer at en funksjon skal sendes inn, brukes ofte lambdafunksjoner mens du arbeider med map()
funksjoner.
En lambda-funksjon er en kort funksjon uten navn. Besøk denne siden for å lære mer om Python lambda-funksjon.
Eksempel 2: Hvordan bruke lambdafunksjon med map ()?
numbers = (1, 2, 3, 4) result = map(lambda x: x*x, numbers) print(result) # converting map object to set numbersSquare = set(result) print(numbersSquare)
Produksjon
(16, 1, 4, 9)
Det er ingen forskjell i funksjonalitetene i dette eksemplet og eksempel 1 .
Eksempel 3: Overføring av flere ikteratorer til kart () ved hjelp av Lambda
I dette eksemplet blir tilsvarende elementer på to lister lagt til.
num1 = (4, 5, 6) num2 = (5, 6, 7) result = map(lambda n1, n2: n1+n2, num1, num2) print(list(result))
Produksjon
(9, 11, 13)