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))> |
imessage-spel för Android
>
>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))> |
>
>
inaktivera utvecklarlägetProduktion
[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)> |
java listning
>
>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å)