In dit artikel leer je een reeks elementen te herhalen met behulp van de verschillende variaties van for-lus.
Video: Python for Loop
Wat is een lus in Python?
De for-lus in Python wordt gebruikt om een reeks (lijst, tuple, string) of andere itereerbare objecten te herhalen. Het herhalen van een reeks wordt traversal genoemd.
Syntaxis van for Loop
voor val in volgorde: Body of for
Hier val
is de variabele die bij elke iteratie de waarde van het item binnen de reeks aanneemt.
De lus gaat door totdat we het laatste item in de reeks bereiken. De body van de for-lus wordt gescheiden van de rest van de code door middel van inspringen.
Stroomdiagram van for Loop

Voorbeeld: Python for Loop
# Program to find the sum of all numbers stored in a list # List of numbers numbers = (6, 5, 3, 8, 4, 2, 5, 4, 11) # variable to store the sum sum = 0 # iterate over the list for val in numbers: sum = sum+val print("The sum is", sum)
Wanneer u het programma uitvoert, is de uitvoer:
De som is 48
De range () functie
We kunnen een reeks getallen genereren met behulp van de range()
functie. range(10)
genereert cijfers van 0 tot 9 (10 cijfers).
We kunnen ook de start-, stop- en stapgrootte definiëren als range(start, stop,step_size)
. step_size is standaard ingesteld op 1 indien niet opgegeven.
Het range
object is in zekere zin "lui" omdat het niet elk nummer genereert dat het "bevat" wanneer we het maken. Het is echter niet een iterator omdat het ondersteunt in
, len
en __getitem__
operaties.
Deze functie slaat niet alle waarden in het geheugen op; het zou inefficiënt zijn. Dus het onthoudt de start, stop, stapgrootte en genereert onderweg het volgende nummer.
Om deze functie te forceren om alle items uit te voeren, kunnen we de functie gebruiken list()
.
Het volgende voorbeeld zal dit verduidelijken.
print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))
Uitvoer
bereik (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 , 17)
We kunnen de range()
functie in for
lussen gebruiken om een reeks getallen te herhalen. Het kan worden gecombineerd met de len()
functie om een reeks te herhalen met behulp van indexering. Hier is een voorbeeld.
# Program to iterate through a list using indexing genre = ('pop', 'rock', 'jazz') # iterate over the list using index for i in range(len(genre)): print("I like", genre(i))
Uitvoer
Ik hou van pop Ik hou van rock Ik hou van jazz
for loop met else
Een for
lus kan ook een optioneel else
blok hebben. Het else
deel wordt uitgevoerd als de items in de volgorde gebruikt worden voor lus uitlaten.
Het break
sleutelwoord kan worden gebruikt om een for-lus te stoppen. In dergelijke gevallen wordt het else-gedeelte genegeerd.
Daarom wordt het else-gedeelte van een for-lus uitgevoerd als er geen onderbreking optreedt.
Hier is een voorbeeld om dit te illustreren.
digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")
Wanneer u het programma uitvoert, is de uitvoer:
0 1 5 Geen items over.
Hier drukt de for-lus items van de lijst af totdat de lus is uitgeput. Wanneer de for-lus uitgeput is, voert het het codeblok uit in de else
en drukt No items left af.
Deze for… else
instructie kan samen met het break
sleutelwoord worden gebruikt om het else
blok alleen uit te voeren als het break
sleutelwoord niet is uitgevoerd. Laten we een voorbeeld nemen:
# program to display student's marks from record student_name = 'Soyuj' marks = ('James': 90, 'Jules': 55, 'Arthur': 77) for student in marks: if student == student_name: print(marks(student)) break else: print('No entry with that name found.')
Uitvoer
Geen vermelding met die naam gevonden.