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