Python map () functie met VOORBEELDEN

Inhoudsopgave:

Anonim

Python map () past een functie toe op alle items van een iterator die als invoer zijn opgegeven. Een iterator kan bijvoorbeeld een lijst, een tupel, een set, een woordenboek, een tekenreeks zijn en retourneert een itereerbaar kaartobject. Python map () is een ingebouwde functie.

In deze tutorial leer je:

  • Syntaxis:
  • Hoe werkt de map () -functie?
  • Map () gebruiken met ingebouwde Python-functies
  • Gebruik map () met een string als iterator
  • Gebruik kaart () met lijst met nummers
  • Map () gebruiken met Tuple
  • Map () gebruiken met woordenboek
  • Map () gebruiken met Set
  • Map () gebruiken met Lambda-functie
  • Meerdere iteratoren gebruiken in de map () -functie

Syntaxis:

map(function, iterator1,iterator2… iteratorN)

Parameters

Hier zijn twee belangrijke

  • functie: Een verplichte functie die aan de kaart moet worden gegeven, die wordt toegepast op alle items die beschikbaar zijn in de iterator.
  • iterator: een itereerbaar verplicht object. Het kan een lijst zijn, een tuple, enz. U kunt meerdere iteratorobjecten doorgeven aan de functie map ().

Winstwaarde

De functie map () gaat de gegeven functie toepassen op alle items in de iterator en een itereerbaar kaartobject retourneren, dwz een tuple, een lijst, enz.

Hoe werkt de map () -functie?

De functie map () heeft twee invoer nodig als een functie en een itereerbaar object. De functie die aan map () wordt gegeven, is een normale functie en deze herhaalt alle waarden die aanwezig zijn in het gegeven itereerbare object.

Stel dat u een lijst met getallen heeft en u wilt het kwadraat van elk van de getallen vinden.

Om de uitvoer te krijgen, hebben we de functie nodig die het kwadraat van het opgegeven getal retourneert. De functie is als volgt:

def square(n):return n*n

De lijst met items die we het vierkant willen vinden, is als volgt:

my_list = [2,3,4,5,6,7,8,9]

Laten we nu de ingebouwde functie map () python gebruiken om het kwadraat van elk van de items in my_list te krijgen.

De uiteindelijke code is als volgt:

def square(n):return n*nmy_list = [2,3,4,5,6,7,8,9]updated_list = map(square, my_list)print(updated_list)print(list(updated_list))

Uitgang:

[4, 9, 16, 25, 36, 49, 64, 81]

De uitvoer van de functie map (), zoals te zien in de uitvoer, is een kaartobject dat op het scherm wordt weergegeven als .

U zult de uitvoer van de kaart moeten herhalen met een for-lus of met de methode list () om de uiteindelijke uitvoer te krijgen. Ik heb list () gebruikt in de code die de waarden in de gegeven lijst weergeeft.

Dus met de functie map () kunnen we het kwadraat van elk getal krijgen. De lijst die aan de kaart is gegeven was [2,3,4,5,6,7,8,9] en met de functie square () de uitvoer van kaart () die we hebben is [4, 9, 16, 25, 36, 49, 64, 81].

De functie map () past de functie vierkant () toe op alle items in de lijst. Bijvoorbeeld my_list variabele en werkt de lijst bij met het kwadraat van elk getal. De out wordt opgeslagen in de updated_list variabele.

Map () gebruiken met ingebouwde Python-functies

Python map () functie is een ingebouwde functie en kan ook worden gebruikt met andere ingebouwde functies die beschikbaar zijn in Python. In het voorbeeld gaan we gebruik maken van de ingebouwde functie Python round () die de gegeven waarden rondt.

Voorbeeld:

De lijst die ik heb is my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907].

Ik heb de afgeronde waarden nodig voor elk item in de lijst. We zullen round () gebruiken als de functie voor map ().

my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]updated_list = map(round, my_list)print(updated_list)print(list(updated_list))

Uitgang:

[3, 4, 4, 6, 6, 8, 8, 10]

De functie round () wordt toegepast op alle items in de lijst en retourneert een lijst met alle waarden afgerond zoals weergegeven in de uitvoer.

Gebruik map () met een string als iterator

We kunnen ook gebruik maken van map () aan een string. In Python fungeert een string als een array, zodat we deze gemakkelijk in de map () kunnen gebruiken.

In het voorbeeld hebben we een functie myMapFunc () die zorgt voor het omzetten van de gegeven string naar hoofdletters. De functie myMapFunc () wordt gegeven aan de functie map (). De kaartfunctie zorgt ervoor dat de tekenreeks in hoofdletters wordt omgezet door de tekenreeks door te geven aan myMapFunc ().

def myMapFunc(s):return s.upper()my_str = "welcome to guru99 tutorials!"updated_list = map(myMapFunc, my_str)print(updated_list)for i in updated_list:print(i, end)

Uitgang:

WELCOME TO GURU99 TUTORIALS!

Gebruik kaart () met lijst met nummers

Om met de lijst in map () te werken, neemt u een lijst met nummers en vermenigvuldigt u elk nummer in de lijst met 10.

De lijst die we gaan gebruiken is: [2,3,4,5,6,7,8,9]. De functie myMapFunc () zorgt voor het vermenigvuldigen van het gegeven getal met 10. De functie wordt gegeven om samen met de lijst in kaart te brengen.

Voorbeeld:

def myMapFunc(n):return n*10my_list = [2,3,4,5,6,7,8,9]updated_list = map(myMapFunc, my_list)print(updated_list)print(list(updated_list))

Uitgang:

[20, 30, 40, 50, 60, 70, 80, 90]

De output die we zien is dat elk nummer in de lijst

vermenigvuldigd met 10.

Map () gebruiken met Tuple

Een tuple is een object in Python met items die zijn gescheiden door komma's en tussen ronde haakjes staan. In het voorbeeld nemen we een tupel met stringwaarden. De functie die we zullen gebruiken, zal de waarden in hoofdletters omzetten.

Voorbeeld:

def myMapFunc(n):return n.upper()my_tuple = ('php','java','python','c++','c')updated_list = map(myMapFunc, my_tuple)print(updated_list)print(list(updated_list))

Uitgang:

['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

De uitvoer die we krijgen is een tuple terug met alle waarden erin zijn geconverteerd naar hoofdletters.

Map () gebruiken met woordenboek

Een woordenboek in Python wordt gemaakt met accolades ({}). Omdat het woordenboek een iterator is, kunt u er gebruik van maken in de functie map (). Laten we nu een woordenboek gebruiken als een iterator in map () -functie.

Het volgende voorbeeld toont de werking van de woordenboek-iterator in map ()

def myMapFunc(n):return n*10my_dict = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_dict)print(finalitems)print(list(finalitems))

Uitgang:

[20, 30, 40, 50, 60, 70, 80, 90]

Map () gebruiken met Set

Set in Python is een ongeordende verzameling items tussen accolades (()). Aangezien set () ook een iterator is, kunt u er gebruik van maken in de functie map ().

Hier is een werkend voorbeeld van het gebruik van set als een iterator in map ()

def myMapFunc(n):return n*10my_set = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_set)print(finalitems)print(list(finalitems))

Uitgang:

[20, 30, 40, 50, 60, 70, 80, 90]

Map () gebruiken met Lambda-functie

In Python worden lambda-expressies gebruikt om anonieme functies te construeren. U zult het trefwoord lambda moeten gebruiken net zoals u def gebruikt om normale functies te definiëren.

Dus in het voorbeeld gaan we de lambda-functie gebruiken in de map (). De lambda-functie vermenigvuldigt elke waarde in de lijst met 10.

Voorbeeld:

my_list = [2,3,4,5,6,7,8,9]updated_list = map(lambda x: x * 10, my_list)print(updated_list)print(list(updated_list))

Uitgang:

[20, 30, 40, 50, 60, 70, 80, 90]

Meerdere iteratoren gebruiken in de map () -functie

Voorbeeld 1: twee lijst-iteratoren doorgeven aan map ()

U kunt meer dan één iterator, dwz een lijst, een tupel, enz. Allemaal tegelijk naar de functie map () sturen.

Als u bijvoorbeeld twee lijsten wilt toevoegen. Hetzelfde kan worden gedaan met de functie map (). We gaan gebruik maken van twee lijsten my_list1 en my_list2.

In het onderstaande voorbeeld wordt het eerste item in de my_list1 toegevoegd aan het eerste item van my_list2. De functie myMapFunc () neemt items van mijn_lijst1 en mijn_lijst2 op en retourneert de som van beide.

Hier is het werkvoorbeeld van het toevoegen van twee gegeven lijsten met de functie map ().

def myMapFunc(list1, list2):return list1+list2my_list1 = [2,3,4,5,6,7,8,9]my_list2 = [4,8,12,16,20,24,28]updated_list = map(myMapFunc, my_list1,my_list2)print(updated_list)print(list(updated_list))

Uitgang:

[6, 11, 16, 21, 26, 31, 36]

Voorbeeld 2: één Tuple en een lijst-iterator doorgeven aan map ()

We gaan gebruik maken van een lijst en een tuple-iterator in de functie map (). De functie wordt gegeven aan map - myMapFunc () haalt de items uit de lijst en Tuple. De items worden samengevoegd met een onderstrepingsteken (_). Het werkvoorbeeld is zoals hieronder getoond:

def myMapFunc(list1, tuple1):return list1+"_"+tuple1my_list = ['a','b', 'b', 'd', 'e']my_tuple = ('PHP','Java','Python','C++','C')updated_list = map(myMapFunc, my_list,my_tuple)print(updated_list)print(list(updated_list))

Uitgang:

['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

Overzicht

  • Python map () is een ingebouwde functie die een functie toepast op alle items van een iterator die als invoer zijn opgegeven. Een iterator kan bijvoorbeeld een lijst, een tupel, een string, enz. Zijn en het retourneert een itereerbaar kaartobject.
  • De functie map () gaat de gegeven functie toepassen op alle items in de iterator en een itereerbaar kaartobject retourneren, dwz een tuple, een lijst, enz.
  • Python map () functie is een ingebouwde functie en kan ook worden gebruikt met andere ingebouwde functies die beschikbaar zijn in Python.
  • Een tuple is een object in Python met items die zijn gescheiden door komma's en tussen ronde haakjes staan. In het voorbeeld wordt een tuple met stringwaarden gebruikt. De functie die we zullen gebruiken, zal de waarden in hoofdletters omzetten.
  • Een woordenboek in Python wordt gemaakt met accolades ({}). Omdat het woordenboek een iterator is, kunt u er gebruik van maken in de functie map ().
  • Set in Python is een ongeordende verzameling items tussen accolades (()). Aangezien set () ook een iterator is, kunt u er gebruik van maken in de functie map ().
  • In Python worden lambda-expressies (of lambda-formulieren) gebruikt om anonieme functies te construeren. Het lambda-trefwoord moet dus worden gebruikt als u lambda in de map () wilt gebruiken.
  • U kunt meer dan één iterator verzenden, dwz een lijst, een tuple naar de functie map ().