Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python map() functie met VOORBEELDEN

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 geeft een itereerbaar kaartobject terug. Python map() is een ingebouwde functie.

In deze tutorial leer je:

  • Syntaxis:
  • Hoe werkt de kaart()-functie?
  • Map() gebruiken met ingebouwde Python-functies
  • Map() gebruiken met een string als iterator
  • Kaart() gebruiken met lijst met nummers
  • Map() gebruiken met Tuple
  • Kaart() gebruiken met Woordenboek
  • Map() gebruiken met Set
  • Map() gebruiken met Lambda-functie
  • Meerdere iterators gebruiken binnen de functie map()

Syntaxis:

map(function, iterator1,iterator2 ...iteratorN)

Parameters

Hier zijn twee belangrijke

  • functie:een verplichte functie die aan de map moet worden gegeven en 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().

Retourwaarde

De functie map() past de gegeven functie toe op alle items in de iterator en retourneert een itereerbaar kaartobject, d.w.z. een tuple, een lijst, enz.

Hoe werkt de kaart()-functie?

De functie map() heeft twee ingangen als functie en een itereerbaar object. De functie die aan map() wordt gegeven, is een normale functie en itereert over alle waarden die aanwezig zijn in het gegeven itereerbare object.

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

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

def square(n):
	return n*n

De lijst met items die we willen vinden in het vierkant 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*n
my_list = [2,3,4,5,6,7,8,9]
updated_list = map(square, my_list)
print(updated_list)
print(list(updated_list))

Uitvoer:

<map object at 0x0000002C59601748>
[4, 9, 16, 25, 36, 49, 64, 81]

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

U zult de uitvoer van de kaart moeten herhalen met behulp van een for-loop of 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 werd gegeven was [2,3,4,5,6,7,8,9] en met de functie square() de uitvoer van map() die we hebben is [4, 9, 16, 25, 36, 49, 64, 81] .

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

Map() gebruiken met ingebouwde Python-functies

De functie Python map() 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 gebruik maken van round() 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))

Uitvoer:

<map object at 0x000000E65F901748>
[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.

Map() gebruiken met een string als iterator

We kunnen ook gebruik maken van map() op een string. In Python gedraagt ​​een string zich als een array, zodat we hem gemakkelijk in de map() kunnen gebruiken.

In het voorbeeld hebben we een functie myMapFunc() die zorgt voor het converteren van de gegeven string naar hoofdletters. De functie myMapFunc () wordt gegeven aan de functie map(). De kaartfunctie zorgt voor het omzetten van de tekenreeks in hoofdletters 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:

<map object at 0x000000DF2E711748>
WELCOME TO GURU99 TUTORIALS!

Kaart() gebruiken met lijst met nummers

Om met de lijst in map() te werken, moet je een lijst met getallen nemen en elk getal in de lijst met 10 vermenigvuldigen.

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*10

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

updated_list = map(myMapFunc, my_list)
print(updated_list)
print(list(updated_list))

Uitgang:

<map object at 0x000000EE2C061898>
[20, 30, 40, 50, 60, 70, 80, 90]

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

. is

vermenigvuldigd met 10.

Map() gebruiken met Tuple

Een tuple is een object in Python met items gescheiden door komma's en tussen ronde haakjes. In het voorbeeld nemen we een tuple met stringwaarden. De functie die we gaan gebruiken, zal de gegeven waarden naar hoofdletters converteren.

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:

<map object at 0x0000009C3C3A16A0>
['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

De output die we krijgen is een tuple terug met alle waarden erin omgezet naar hoofdletters.

Map() gebruiken met woordenboek

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

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

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

Uitgang:

<map object at 0x0000007EB451DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]

Kaart() gebruiken met Set

Set in Python is een ongeordende verzameling items tussen accolades (()). Omdat set() ook een iterator is, kun je 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*10
my_set = {2,3,4,5,6,7,8,9}
finalitems = map(myMapFunc, my_set)
print(finalitems)
print(list(finalitems))

Uitgang:

<map object at 0x000000AC8F05DEF0>
[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 moet het trefwoord lambda 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:

<map object at 0x000000BD18B11898>
[20, 30, 40, 50, 60, 70, 80, 90]

Meerdere iterators gebruiken binnen de functie map()

Voorbeeld 1:Twee lijst-iterators doorgeven aan map()

U kunt meer dan één iterator, d.w.z. een lijst, een tuple, enz. allemaal tegelijkertijd naar de map()-functie 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 my_list1 en my_list2 op en geeft de som van beide terug.

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

def myMapFunc(list1, list2):
    return list1+list2

my_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:

<map object at 0x0000004D5F751860>
[6, 11, 16, 21, 26, 31, 36]

Voorbeeld 2:Een 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 weergegeven:

def myMapFunc(list1, tuple1):
    return list1+"_"+tuple1

my_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:

<map object at 0x00000059F37BB4E0>
['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

Samenvatting

  • 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 tuple, 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 teruggeven, bijvoorbeeld een tuple, een lijst, enz.
  • De functie Python map() 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 gescheiden door komma's en tussen ronde haakjes. In het voorbeeld wordt een tuple met tekenreekswaarden gebruikt. De functie die we gaan gebruiken, zal de gegeven waarden naar hoofdletters converteren.
  • Een woordenboek in Python wordt gemaakt met accolades({}). Aangezien het woordenboek een iterator is, kunt u er gebruik van maken in de map()-functie.
  • Set in Python is een ongeordende verzameling items tussen accolades(()). Aangezien set() ook een iterator is, kun je er gebruik van maken in de map()-functie.
  • In Python worden lambda-expressies (of lambda-vormen) gebruikt om anonieme functies te construeren. Dus het trefwoord lambda moet worden gebruikt als je lambda in de map() wilt gebruiken.
  • Je kunt meer dan één iterator, d.w.z. een lijst, een tuple, naar de map()-functie sturen.

Python

  1. Python Anonieme/Lambda-functie
  2. Python-generatoren
  3. Python-sluitingen
  4. Python-decorateurs
  5. Overbelasting van C++-operator met voorbeelden
  6. C++-functies met programmavoorbeelden
  7. Python Print()-instructie:afdrukken met voorbeelden
  8. Python String strip() Functie met VOORBEELD
  9. Python String count() met VOORBEELDEN
  10. Python String format() Leg uit met VOORBEELDEN
  11. Methode Python String find() met voorbeelden