kaart() functie retourneert een kaartobject (dat een iterator is) van de resultaten na het toepassen van de gegeven functie op elk item van een bepaalde iterabele (lijst, tupel enz.)
Python map() Functiesyntaxis
Syntaxis : kaart(leuk, iter)
Parameters:
- plezier: Het is een functie waaraan de kaart elk element van een bepaalde iterabele doorgeeft.
- iter: Het is itereerbaar en moet in kaart worden gebracht.
OPMERKING: U kunt een of meer iterabele gegevens doorgeven aan de functie map().
Geeft terug: Retourneert een lijst met resultaten na het toepassen van de gegeven functie op elk item van een bepaalde iterabele (lijst, tupel enz.)
OPMERKING : De geretourneerde waarde van map() (kaartobject) kan vervolgens worden doorgegeven aan functies zoals list() (om een lijst te maken), set() (om een set te maken) .
map() in Python-voorbeelden
Demonstratie van map() in Python
In dit voorbeeld demonstreren we de functie map() in Python .
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))> |
Java-controle is nul
>
>Uitvoer
[2, 4, 6, 8]>
map() met Lambda-expressies
Wij kunnen ook gebruiken lambda-uitdrukkingen met kaart om bovenstaand resultaat te bereiken. In dit voorbeeld gebruiken we map() met lambda-expressie.
Python3
# Double all numbers using map and lambda> numbers>=> (>1>,>2>,>3>,>4>)> result>=> map>(>lambda> x: x>+> x, numbers)> print>(>list>(result))> |
>
>Uitvoer
[2, 4, 6, 8]>
Voeg twee lijsten toe met behulp van kaart en lambda
In dit voorbeeld gebruiken we map en lambda om twee lijsten toe te voegen.
tekenreeks naar teken
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))> |
>
>Uitvoer
[5, 7, 9]>
Wijzig de tekenreeks met map()
In dit voorbeeld gebruiken we de functie map() om de tekenreeks te wijzigen. We kunnen een kaart maken van een iterabele in 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)> |
>
>Uitvoer
[['s', 'a', 't'], ['b', 'a', 't'], ['c', 'a', 't'], ['m', 'a', 't']]>
Tijdcomplexiteit : O(n), waarbij n het aantal elementen in de invoerlijst l is.
Hulpruimte : Op)
geblokkeerde contacten
if-instructie met map()
In het voorbeeld verdubbelt de functie double_even() de even getallen en laat de oneven getallen ongewijzigd. De functie map() wordt gebruikt om deze functie op elk element van de getallenlijst toe te passen, en binnen de functie wordt een if-instructie gebruikt om de noodzakelijke voorwaardelijke logica uit te voeren.
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]> |
>
>Uitvoer
[1, 4, 3, 8, 5]>
Tijdcomplexiteit : Op)
Hulpcomplexiteit: Op)