Python-lussen beheersen: For, While, Break, Continue en Enumerate uitgelegd
Python-lussen beheersen: For, While, Break, Continue en Enumerate uitgelegd
Lussen zijn de ruggengraat van iteratief programmeren. Ze laten je een blok code herhaaldelijk uitvoeren tot aan een voorwaarde. Python biedt twee primaire lusconstructies: for (iterators) en while (voorwaarde-gebaseerd).
Wat is een lus?
Een lus voert herhaaldelijk een set statements uit. In Python worden lussen gebruikt om collecties te verwerken, sequenties te genereren of taken uit te voeren tot een stopcriterium bereikt is.
For-lussen (Iterators)
Een for-lus itereert over items van een iterable—lijsten, tuples, strings of ranges. Het stopt automatisch wanneer de iterable uitgeput is, wat het veiliger maakt dan handmatig indices bij te houden.
x = 0 for x in range(2, 7): print(x)
Uitvoer:
2
3
4
5
6
While-lussen (Voorwaarde-gebaseerd)
Een while-lus herhaalt zolang een gegeven Booleaanse expressie True blijft. Het is ideaal wanneer het aantal iteraties van tevoren onbekend is.
x = 0 while x < 4: print(x) x += 1
Uitvoer:
0
1
2
3
Lussen over non-numerieke collecties
For-lussen werken naadloos met strings en andere collecties:
maanden = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'] for m in maanden: print(m)
Uitvoer:
Jan
Feb
Mar
Apr
May
Jun
Uit een lus breken
De break-statement beëindigt de lus onmiddellijk. Het is nuttig voor vroege exit wanneer een conditie wordt bereikt.
for x in range(10, 20): if x == 15: break print(x)
Uitvoer:
10
11
12
13
14
Een iteratie overslaan
De continue-statement slaat de rest van de lusbody over voor de huidige iteratie en gaat door naar de volgende cyclus.
for x in range(10, 20): if x % 5 == 0: continue print(x)
Uitvoer:
11
12
13
14
16
17
18
19
enumerate() gebruiken voor geïndexeerde lussen
De ingebouwde enumerate()-functie voegt een teller toe aan een iterable, wat index-waarde-paren oplevert.
maanden = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'] for i, m in enumerate(maanden): print(i, m)
Uitvoer:
0 Jan
1 Feb
2 Mar
3 Apr
4 May
5 Jun
Een statement meerdere keren herhalen
Je kunt een for-lus over een string van cijfers of een range gebruiken om een bericht te herhalen:
for i in '123': print('guru99', i) Uitvoer:
guru99 1
guru99 2
guru99 3
Uitgebreid voorbeeldtabel
| Lustype | Code |
|---|---|
| While-lus | x = 0 while x < 4: print(x) x += 1 |
| For-lus (numeriek) | for x in range(2, 7): print(x) |
| For-lus (string) | maanden = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'] for m in maanden: print(m) |
| Break in for-lus | for x in range(10, 20): if x == 15: break print(x) |
| Continue in for-lus | for x in range(10, 20): if x % 5 == 0: continue print(x) |
| Enumerate in for-lus | maanden = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'] for i, m in enumerate(maanden): print(i, m) |
Python 2-compatibiliteit
De bovenstaande voorbeelden zijn Python 3-syntaxis. Voor Python 2, vervang print() door print-statements en pas het range-gedrag aan.
# While-lus x = 0 while x < 4: print x x += 1 # For-lus for x in range(2, 7): print x # For-lus over string maanden = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'] for m in maanden: print m # Break-voorbeeld for x in range(10, 20): if x == 15: break print x # Continue-voorbeeld for x in range(10, 20): if x % 5 == 0: continue print x # Enumerate-voorbeeld for i, m in enumerate(maanden): print i, m
Uitvoer:
0
1
2
3
2
3
4
5
6
Jan
Feb
Mar
Apr
May
Jun
10
11
12
13
14
11
12
13
14
16
17
18
19
0 Jan
1 Feb
2 Mar
3 Apr
4 May
5 Jun
Voor meer diepgang, raadpleeg de officiële Python-tutorial over control flow.
Python
- C# While en Do-While Loops: Syntaxis, Voorbeelden en Best Practices
- C# For Loops: Syntaxis, Stroom en Praktische Voorbeelden
- C# Break Statement: Hoe en Wanneer Te Gebruiken
- C# Continue Statement: Effectief Lusiteraties Overslaan
- C++ break statement: loop controle onder de knie
- Python Statements, Indentatie en Comments: Een duidelijke gids
- Python Pass Statement onder de knie krijgen: Een praktische gids
- Python-lussen beheersen: For, While, Break, Continue en Enumerate uitgelegd
- Python's range()-functie onder de knie: van basis tot geavanceerde use cases
- Python's enumerate() meesteren: lussen met indices voor lijsten, tuples, strings en dictionaries
- Java palindroom-getal checker: Algoritmen met while en for lussen