Python voor lussen
Python voor lussen
Een for -lus wordt gebruikt voor het herhalen van een reeks (dat wil zeggen een lijst, een tupel, een woordenboek, een set of een tekenreeks).
Dit lijkt minder op het for -sleutelwoord in andere programmeertalen, en werkt meer als een iteratormethode zoals gevonden in andere objectgeoriënteerde programmeertalen.
Met de for -lus kunnen we een reeks instructies uitvoeren, één keer voor elk item in een lijst, tuple, set enz.
Voorbeeld
Print elk fruit in een fruitlijst:
fruits = ["apple", "banana", "cherry"]
for
x in fruits:
print(x)
De for -lus vereist geen indexeringsvariabele om vooraf in te stellen.
Door een string heen lopen
Zelfs strings zijn itereerbare objecten, ze bevatten een reeks tekens:
Voorbeeld
Loop door de letters in het woord "banaan":
for x in "banana":
print(x)
De breukverklaring
Met het break -statement kunnen we de lus stoppen voordat deze alle items heeft doorlopen:
Voorbeeld
Verlaat de lus wanneer x
"banaan" is:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x ==
"banana":
break
Voorbeeld
Verlaat de lus wanneer x
"banaan" is, maar deze keer komt de pauze vóór de afdruk:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x ==
"banana":
break
print(x)
De continue verklaring
Met de continue instructie kunnen we de huidige iteratie van de lus stoppen en doorgaan met de volgende:
Voorbeeld
Geen banaan printen:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x ==
"banana":
continue
print(x)
De range()-functie
Om een reeks code een bepaald aantal keren te doorlopen, kunnen we de functie range() gebruiken ,De functie range() retourneert een reeks getallen, die standaard begint bij 0, en wordt verhoogd met 1 (standaard), en eindigt bij een opgegeven getal.
Voorbeeld
De functie range() gebruiken:
for x in range(6):
print(x)
Merk op dat bereik (6) niet de waarden van 0 tot 6 zijn, maar de waarden van 0 tot 5.
De functie range() is standaard 0 als startwaarde, maar het is mogelijk om de startwaarde op te geven door een parameter toe te voegen: range(2, 6) , wat waarden van 2 tot 6 betekent (maar niet inclusief 6):
Voorbeeld
De startparameter gebruiken:
for x in range(2, 6):
print(x)
De functie range() is standaard om de reeks met 1 te verhogen, maar het is mogelijk om de toenamewaarde op te geven door een derde parameter toe te voegen: range(2, 30, 3 ) :
Voorbeeld
Verhoog de reeks met 3 (standaard is 1):
for x in range(2, 30, 3):
print(x)
Anders in For Loop
Het else
sleutelwoord in een
for
lus specificeert een codeblok dat moet worden uitgevoerd wanneer de lus is voltooid:
Voorbeeld
Druk alle cijfers van 0 tot 5 af en druk een bericht af wanneer de lus is afgelopen:
for x in range(6):
print(x)
else:
print("Finally finished!")
Opmerking: het else
blok wordt NIET uitgevoerd als de lus wordt gestopt door een break
instructie.
Voorbeeld
Breek de lus wanneer x
3 is, en kijk wat er gebeurt met het
else
blok:
for x in range(6):
if x == 3: break
print(x)
else:
print("Finally finished!")
Geneste lussen
Een geneste lus is een lus in een lus.
De "binnenste lus" wordt één keer uitgevoerd voor elke iteratie van de "buitenste lus":
Voorbeeld
Print elk bijvoeglijk naamwoord voor elke vrucht:
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y)
De pasverklaring
for
loops kunnen niet leeg zijn, maar als je om wat voor reden dan ook een for
lus hebt zonder inhoud, plaats dan de pass
instructie om te voorkomen dat je een foutmelding krijgt.
Voorbeeld
for x in [0, 1, 2]:
pass