Python map() funktion

Karta() funktion returnerar ett kartobjekt (som är en iterator) av resultaten efter att ha tillämpat den givna funktionen på varje objekt i en given iterabel (lista, tuppel etc.)

Python map() Funktion Syntax

Syntax : karta(kul, iter)

Parametrar:

  • roligt: Det är en funktion som kartan skickar varje element av given iterabel till.
  • iter: Det är iterabelt som ska kartläggas.

NOTERA: Du kan skicka en eller flera iterable till map()-funktionen.

Returnerar: Returnerar en lista över resultaten efter att ha tillämpat den givna funktionen på varje objekt i en given iterabel (lista, tuppel etc.)

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

map() i Python-exempel

Demonstration av map() i Python

I det här exemplet visar vi funktionen map() i Pytonorm .

Python3




# Python program to demonstrate working> # of map.> # Return double of n> def> addition(n):> > return> n> +> n> # We double all numbers using map()> numbers> => (> 1> ,> 2> ,> 3> ,> 4> )> result> => map> (addition, numbers)> print> (> list> (result))>

Produktion

[2, 4, 6, 8] 

map() med Lambda Expressions

Vi kan också använda lambda uttryck med karta för att uppnå ovanstående resultat. I det här exemplet använder vi map() med lambda-uttryck.

Python3




# Double all numbers using map and lambda> numbers> => (> 1> ,> 2> ,> 3> ,> 4> )> result> => map> (> lambda> x: x> +> x, numbers)> print> (> list> (result))>

Produktion

[2, 4, 6, 8] 

Lägg till två listor med karta och lambda

I det här exemplet använder vi map och lambda för att lägga till två listor.

Python3




# Add two lists using map and lambda> numbers1> => [> 1> ,> 2> ,> 3> ]> numbers2> => [> 4> ,> 5> ,> 6> ]> result> => map> (> lambda> x, y: x> +> y, numbers1, numbers2)> print> (> list> (result))>

Produktion

[5, 7, 9] 

Ändra strängen med map()

I det här exemplet använder vi map()-funktionen för att modifiera strängen. Vi kan skapa en karta från en iterabel i Python.

Python3




# List of strings> l> => [> 'sat'> ,> 'bat'> ,> 'cat'> ,> 'mat'> ]> # map() can listify the list of strings individually> test> => list> (> map> (> list> , l))> print> (test)>

Produktion

[['s', 'a', 't'], ['b', 'a', 't'], ['c', 'a', 't'], ['m', 'a', 't']] 

Tidskomplexitet : O(n), där n är antalet element i inmatningslistan l.
Hjälputrymme :O(n)

if Statement med map()

I exemplet fördubblar funktionen double_even() jämna tal och lämnar udda tal oförändrade. Map()-funktionen används för att tillämpa den här funktionen på varje element i nummerlistan, och en if-sats används i funktionen för att utföra den nödvändiga villkorliga logiken.

Python3




# Define a function that doubles even numbers and leaves odd numbers as is> def> double_even(num):> > if> num> %> 2> => => 0> :> > return> num> *> 2> > else> :> > return> num> # Create a list of numbers to apply the function to> numbers> => [> 1> ,> 2> ,> 3> ,> 4> ,> 5> ]> # Use map to apply the function to each element in the list> result> => list> (> map> (double_even, numbers))> # Print the result> print> (result)> # [1, 4, 3, 8, 5]>

Produktion

[1, 4, 3, 8, 5] 

Tidskomplexitet :O(n)
Hjälpkomplexitet: På)