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))> |
fmoviez
>
>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
invata seleniul
# List of strings> l>=> [>'sat'>,>'bat'>,>'cat'>,>'mat'>]> # map() can listify the list of strings individually> test>=> list>(>map>(>list>, l))> print>(test)> |
computerul a inventat în ce an
>
>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)