Cursus
In de wereld van Python-programmeren is het beheersen van loops cruciaal. Deze tutorial werpt licht op de Python for i in range-loop, een fundamentele constructie in Python die repetitieve taken vereenvoudigt. We gaan op pad om de syntax, veelzijdigheid en praktische toepassingen te begrijpen.
De essentie van for-loops in Python
Een for-loop in Python is een besturingsstructuur die wordt gebruikt om over een sequentie te itereren (zoals een list, tuple, dictionary of string). Het mooie aan Python’s for-loop is dat je direct over de items van een sequentie kunt itereren op een duidelijke en beknopte manier.
Syntax van de for-loop
for item in sequence:
# perform actions
Hier staat item voor elk element in de sequentie, en de loop voert het codeblok voor elk element uit.
Dieper duiken in de Python-functie range()
De functie range() in Python is essentieel voor het genereren van een reeks getallen en biedt meer controle en flexibiliteit in loops.
De flexibiliteit van range()
Gebruik met één argument
- Genereert getallen van 0 tot n-1.
- Voorbeeld: range(5) levert 0, 1, 2, 3, 4 op.
Gebruik met twee argumenten
- Geeft het begin en einde van de reeks op.
- Voorbeeld: range(10, 15) resulteert in 10, 11, 12, 13, 14.
Gebruik met drie argumenten
- Voegt de mogelijkheid toe om de stapgrootte voor increment te specificeren.
- Voorbeeld: range(1, 20, 2) geeft 1, 3, 5, ..., 19.
Praktische toepassingen en voorbeelden
Itereren over collecties
1. Strings: Itereer over elk teken.
for char in "Hello":
print(char)
H
e
l
l
o
Deze loop itereert over elk teken in de string "Hello". De for-loop wijst elk teken ('H', 'e', 'l', 'l', 'o') om de beurt toe aan de variabele char en print het. De output is dus elk teken van "Hello" op een nieuwe regel.
2. Lists: Doorloop lijstitems.
for num in [1, 2, 3]:
print(num)
1
2
3
Hier doorloopt de loop de list [1, 2, 3]. In elke iteratie neemt num de waarde aan van het volgende element in de lijst: eerst 1, dan 2 en tot slot 3. Elk getal wordt geprint, waardoor de getallen 1, 2 en 3 elk op een nieuwe regel verschijnen.
3. Dictionaries: Toegang tot keys en values.
for key, value in {'a': 1, 'b': 2}.items():
print(key, value)
a 1
b 2
Deze loop itereert over een dictionary met twee key-valueparen ('a': 1 en 'b': 2). De methode .items() geeft een view-object terug met een lijst van tupleparen (key, value) van de dictionary. In elke iteratie worden key en value toegewezen aan de key en value van het volgende item in de dictionary, die vervolgens geprint worden.
Mechanismen om loops te sturen
1. Het break-statement: Beëindigt de loop voortijdig.
for i in range(10):
if i == 5:
break
Deze code itereert van 0 tot 9 (zoals gegenereerd door range(10)). Wanneer de waarde van i 5 bereikt, wordt aan de voorwaarde van het if-statement voldaan en wordt het break-statement geactiveerd. Dit stopt de loop, ook al zijn nog niet alle waarden tot en met 9 doorlopen.
2. Het continue-statement: Slaat de huidige iteratie over.
for i in range(10):
if i % 2 == 0:
continue
print(i)
1
3
5
7
9
Deze loop itereert ook van 0 tot 9. Het if-statement controleert echter of i een even getal is (dat is wat i % 2 == 0 doet – het controleert of de rest bij deling van i door 2 nul is). Als het even is, wordt het continue-statement uitgevoerd, waardoor de rest van het loopblok voor die iteratie wordt overgeslagen. Daarom worden alleen oneven getallen geprint.
Geavanceerde technieken met for-loops
1. Geneste loops
Dit is een voorbeeld van geneste loops, waarbij de ene loop in een andere staat. De buitenste loop (for i in range(3)) itereert door de getallen 0, 1 en 2. Voor elke iteratie van de buitenste loop itereert de binnenste loop (for j in range(3)) ook door de getallen 0, 1 en 2. De instructie print(i, j) wordt uitgevoerd voor elke combinatie van i en j.
for i in range(3):
for j in range(3):
print(i, j)
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2
De output is een reeks paren die alle combinaties van i en j in het bereik 0 tot en met 2 weergeven.
2. Itereren met enumerate
De functie enumerate voegt een teller toe aan een iterable en geeft die terug als een enumerate-object. Dit object kan direct in for-loops worden gebruikt. In dit voorbeeld wordt de for-loop gebruikt met enumerate op een list ['a', 'b', 'c'].
for index, value in enumerate(['a', 'b', 'c']):
print(index, value)
0 a
1 b
2 c
De functie enumerate voegt een index toe aan elk item in de lijst, standaard beginnend bij 0. De loop itereert vervolgens over dit enumerate-object en pakt elk item uit in index en value. De index is de positie van elk item en value is het bijbehorende item uit de lijst. De output is dus een reeks regels met de index en de waarde.
Deze voorbeelden laten zien hoe je geneste loops kunt gebruiken voor complexe iteraties en hoe enumerate handig is om de index van items in een loop bij te houden.
Hoe for-loops worden gebruikt in data science
De for-loop is een cruciaal concept in Python-programmeren en data-analyse. Het heeft een breed scala aan toepassingen, zoals itereren over lists en arrays, wat taken voor gegevensmanipulatie vereenvoudigt. Ik gebruik for-loops vaak, vooral geneste loops, om multidimensionale datastructuren efficiënt te beheren — een essentiële stap bij het bouwen van machinelearning-algoritmen. Daarnaast combineren data scientists for-loops vaak met conditionele logica voor complexe gegevensverwerking, zoals het aggregeren van data, bijvoorbeeld het berekenen van het gemiddelde van een lijst met getallen.
Bij zeer grote datasets en deep-learningalgoritmen zijn for-loops echter niet altijd de beste optie. Daarom hebben we bibliotheken zoals NumPy, pandas en PyTorch, die geoptimaliseerd zijn voor gevectoriseerde operaties en daardoor efficiënter zijn voor grootschalige gegevensmanipulatie.
Conclusie: efficiëntie in loops omarmen
Kortom, de for-loop van Python is een onmisbaar hulpmiddel voor programmeurs. De eenvoud, in combinatie met de kracht van de functie range(), maakt het ideaal voor allerlei iteratieve taken in data science en algemeen programmeren. Naarmate je deze concepten oefent en toepast, zal je Python-code efficiënter en expressiever worden.
Je kunt meer lezen over while-loops in onze volledige tutorial en dit en andere concepten verkennen in onze cursus Intermediate Python.
Als gecertificeerd data scientist haal ik met passie het maximale uit de nieuwste technologie om innovatieve machinelearning-toepassingen te bouwen. Met een sterke achtergrond in spraakherkenning, data-analyse en -rapportage, MLOps, conversationele AI en NLP heb ik mijn vaardigheden aangescherpt in het ontwikkelen van intelligente systemen die echt impact maken. Naast mijn technische expertise ben ik ook een sterke communicator met een talent om complexe concepten terug te brengen tot heldere, beknopte taal. Daardoor ben ik uitgegroeid tot een veelgelezen blogger over data science, waar ik mijn inzichten en ervaringen deel met een groeiende community van data-professionals. Op dit moment richt ik me op contentcreatie en redactie, waarbij ik met large language models werk aan krachtige en aansprekende content die zowel bedrijven als individuen helpt het beste uit hun data te halen.

