Funcția Python map().

Hartă() funcția returnează un obiect hartă (care este un iterator) al rezultatelor după aplicarea funcției date fiecărui element dintr-un iterabil dat (listă, tuplu etc.)

Python map() Sintaxa funcției

Sintaxă : hartă (distracție, iter)

Parametri:

  • distracţie: Este o funcție căreia map îi trece fiecare element al iterabilului dat.
  • iter: Este iterabil care urmează să fie mapat.

NOTĂ: Puteți trece unul sau mai multe iterabile la funcția map().

Se intoarce: Returnează o listă a rezultatelor după aplicarea funcției date fiecărui element al unui iterabil dat (listă, tuplu etc.)

NOTĂ : Valoarea returnată de la map() (obiect hartă) poate fi apoi transmisă la funcții precum list() (pentru a crea o listă), set() (pentru a crea un set) .

map() în exemplele Python

Demonstrarea map() în Python

În acest exemplu, demonstrăm funcția map() în Piton .

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))>

Ieșire

[2, 4, 6, 8] 

map() cu expresii Lambda

Putem folosi, de asemenea expresii lambda cu harta pentru a obține rezultatul de mai sus. În acest exemplu, folosim map() cu expresia lambda.

Python3




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

Ieșire

[2, 4, 6, 8] 

Adăugați două liste folosind map și lambda

În acest exemplu, folosim harta și lambda pentru a adăuga două liste.

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))>

Ieșire

[5, 7, 9] 

Modificați șirul folosind map()

În acest exemplu, folosim funcția map() pentru a modifica șirul. Putem crea o hartă dintr-un iterabil în 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)>

Ieșire

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

Complexitatea timpului : O(n), unde n este numărul de elemente din lista de intrare l.
Spațiu auxiliar : Pe)

if Declarație cu map()

În exemplu, funcția double_even() dublează numerele pare și lasă numerele impare neschimbate. Funcția map() este folosită pentru a aplica această funcție fiecărui element al listei de numere și o instrucțiune if este folosită în cadrul funcției pentru a efectua logica condiționată necesară.

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]>

Ieșire

[1, 4, 3, 8, 5] 

Complexitatea timpului : Pe)
Complexitate auxiliară: Pe)