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's map()-functie beheersen: syntaxis, voorbeelden en best practices

Python's ingebouwde map() past een functie toe op elk item in een iterable (lijst, tuple, set, string, dictionary, etc.) en geeft een nieuwe iterable terug. Het is een hoeksteen voor functioneel programmeren in Python.

Wat je leert

  • Syntaxis en kernparameters
  • Hoe map() onder de motorkap werkt
  • map() gebruiken met ingebouwde functies
  • map() toepassen op strings, lijsten, tuples, dictionaries en sets
  • Lambda-expressies benutten met map()
  • Meerdere iterators combineren in één aanroep

Syntaxis

map(functie, iterable1, iterable2, ... iterableN)

Parameters

  • functie: Een verplichte callable die op elk element wordt toegepast.
  • iterable(s): Een of meer iterables. De functie ontvangt per aanroep één element uit elke iterable.

Return-waarde

Het resultaat is een map-object – een lui iterable yang getransformeerde items oplevert. Converteer het naar een lijst, tuple of set om de waarden te consumeren.

Hoe map() werkt

Hieronder een simpel voorbeeld dat elk getal in een lijst kwadrateert.

def kwadraat(n):
    return n * n

mijn_lijst = [2, 3, 4, 5, 6, 7, 8, 9]
geupdate = map(kwadraat, mijn_lijst)
print(list(geupdate))  # [4, 9, 16, 25, 36, 49, 64, 81]

Het map-object is lui; het converteren naar een lijst dwingt evaluatie af.

map() gebruiken met ingebouwde functies

Combineer map() met elke ingebouwde functie die één argument accepteert. Bijvoorbeeld, drijvende-komma getallen afronden:

waarden = [2.6743, 3.63526, 4.2325, 5.9687967, 6.3265, 7.6988, 8.232, 9.6907]
afgerond = map(round, waarden)
print(list(afgerond))  # [3, 4, 4, 6, 6, 8, 8, 10]

Map over strings

Strings zijn iterable, dus map() kan elk karakter of woord transformeren.

def naar_hoofdletters(s):
    return s.upper()

tekst = "welkom bij guru99 tutorials!"
print("".join(map(naar_hoofdletters, tekst)))  # WELKOM BIJ GURU99 TUTORIALS!

Map over lijsten van getallen

def keer_tien(n):
    return n * 10

getallen = [2, 3, 4, 5, 6, 7, 8, 9]
print(list(map(keer_tien, getallen)))  # [20, 30, 40, 50, 60, 70, 80, 90]

Map over tuples

def naar_hoofdletters_str(s):
    return s.upper()

talen = ("php", "java", "python", "c++", "c")
print(list(map(naar_hoofdletters_str, talen)))  # ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

Map over dictionaries en sets

Bij itereren over een dictionary ontvangt map() de keys. Voor een set is de volgorde willekeurig.

def keer_tien(n):
    return n * 10

voorbeeld_set = {2, 3, 4, 5, 6, 7, 8, 9}
print(sorted(map(keer_tien, voorbeeld_set)))  # [20, 30, 40, 50, 60, 70, 80, 90]

Lambda-functies gebruiken

Anonieme functies houden code beknopt:

getallen = [2, 3, 4, 5, 6, 7, 8, 9]
print(list(map(lambda x: x * 10, getallen)))  # [20, 30, 40, 50, 60, 70, 80, 90]

Meerdere iterators

Voorbeeld 1: Twee lijsten optellen

def optellen(a, b):
    return a + b

lijst1 = [2, 3, 4, 5, 6, 7, 8, 9]
lijst2 = [4, 8, 12, 16, 20, 24, 28]
print(list(map(optellen, lijst1, lijst2)))  # [6, 11, 16, 21, 26, 31, 36]

Voorbeeld 2: Lijst- en tuple-elementen concateneren

def concat(a, b):
    return f"{a}_{b}"

letters = ['a', 'b', 'b', 'd', 'e']
merken = ('PHP', 'Java', 'Python', 'C++', 'C')
print(list(map(concat, letters, merken)))  # ['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

Belangrijkste uitgangspunten

  • map() transformeert elk element van een iterable met een gegeven functie.
  • Het retourneert een lui iterator; converteer naar list, tuple of set om resultaten te materialiseren.
  • Compatibel met elke callable – inclusief ingebouwde functies, gebruiksdefinities en lambdas.
  • Ondersteunt meerdere iterables; de functie moet een passend aantal argumenten accepteren.
  • Geweldig voor schone, functionele code en efficiënte verwerking van grote datasets.

Python

  1. C++ Operator Overloading – Praktische Handleiding met Code‑Voorbeelden
  2. C++ Functies Uitgelegd met Praktische Codevoorbeelden
  3. Python Lambda Functies: Een praktische gids voor anonieme functies
  4. Python-generators: efficiënte iteratie en geavanceerde use cases
  5. Python-closures uitgelegd: hoe geneste functies variabelen vangen
  6. Python-decorators beheersen: functies verbeteren met expert-technieken
  7. Python print()-functie: Praktische handleiding met voorbeelden
  8. Python's strip()-methode beheersen: Uitgebreide handleiding & praktische voorbeelden
  9. Python's str.count() beheersen: Karakters & substrings tellen met voorbeelden
  10. Python `format()` strings beheersen met duidelijke voorbeelden
  11. Python's String.find()-methode beheersen: Syntaxis, voorbeelden & alternatieven