Python karta ()

Map () -funktionen tillämpar en given funktion för varje objekt i en iterabel (lista, tupel etc.) och returnerar en lista med resultaten.

Syntaksen för map()är:

 karta (funktion, iterabel, …)

karta () Parameter

  • -funktion - map()skickar varje artikel i iterabel till den här funktionen.
  • iterable - iterable som ska kartläggas

Du kan skicka mer än en iterabel till map()funktionen.

Returvärde från karta ()

Den map()funktion gäller en given att fungera för varje punkt av en iterable och returnerar en lista av resultaten.

Det returnerade värdet från map()(kartobjekt) kan sedan skickas till funktioner som list () (för att skapa en lista), set () (för att skapa en uppsättning) och så vidare.

Exempel 1: Arbeta med karta ()

 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)

Produktion

 (16, 1, 4, 9)

I exemplet ovan är varje objekt i tupeln kvadrat.

Eftersom map()förväntar sig att en funktion ska skickas in används ofta lambdafunktioner när man arbetar med map()funktioner.

En lambda-funktion är en kort funktion utan namn. Besök den här sidan för att lära dig mer om Python lambda-funktion.

Exempel 2: Hur använder jag lambdafunktionen 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)

Produktion

 (16, 1, 4, 9)

Det finns ingen skillnad i funktionalitet i detta exempel och exempel 1 .

Exempel 3: Att skicka flera itatorer till kartan () med hjälp av Lambda

I det här exemplet läggs motsvarande poster i två listor till.

 num1 = (4, 5, 6) num2 = (5, 6, 7) result = map(lambda n1, n2: n1+n2, num1, num2) print(list(result))

Produktion

 (9, 11, 13)

Intressanta artiklar...