De for-lus in Python is een iteratieve functie. Als je een sequentieel object hebt zoals een lijst, kun je de for-lus gebruiken om over de items in de lijst te itereren.
De functionaliteit van de for-lus verschilt niet veel van wat je ziet in meerdere andere programmeertalen.
In dit artikel zullen we de Python for-lus in detail verkennen en leren itereren over verschillende sequenties, waaronder lijsten, tuples en meer. Daarnaast zullen we leren om de doorloop van de lus te controleren met behulp van de break- en continue-statements.
Wanneer de for-lus te gebruiken
Altijd wanneer je een blok code een vast aantal keren moet herhalen. Als je het aantal keren dat het herhaald moet worden niet weet, gebruik dan in plaats daarvan een “while-lus”-verklaring.
Syntax van for-lus Python
De basissyntax van de for-lus in Python ziet er ongeveer zo uit als hieronder vermeld.
Syntaxe van de for-lus in Python in Detail
- Het eerste woord van de verklaring begint met het trefwoord “for”, wat het begin van de for-lus aangeeft.
- Vervolgens hebben we de iteratorvariabele die over de sequentie itereert en binnen de lus kan worden gebruikt om verschillende functies uit te voeren.
- Dan komt het “in” trefwoord in Python, dat de iteratorvariabele vertelt om te lussen voor elementen binnen de sequentie.
- En tot slot hebben we de sequentievariabele die een lijst, een tuple of een ander soort iterator kan zijn.
- De verklaringen die deel uitmaken van de lus zijn waar je kunt spelen met de iteratorvariabele en verschillende functies kunt uitvoeren
Druk individuele letters van een string af met behulp van de for-lus
Een Python-string is een reeks tekens. Als je binnen een van je programmeertoepassingen de tekens van een string afzonderlijk moet doorlopen, kun je hier de for-lus gebruiken.
Zo zou dat voor jou werken.
Uitvoer:
De reden waarom deze lus werkt is omdat Python een “string” beschouwt als een opeenvolging van tekens in plaats van naar de string als geheel te kijken.
Het gebruik van de for-lus om te itereren over een Python-lijst of tuple
Lijsten en Tuples zijn iterabele objecten. Laten we nu eens kijken hoe we over de elementen binnen deze objecten kunnen itereren.
Uitvoer:
Laten we nu verder gaan en werken aan het itereren over de elementen van een tuple hier.
Het nesten van Python for-lussen
Wanneer we een for-lus binnen een andere for-lus hebben, wordt dit een geneste for-lus genoemd. Er zijn meerdere toepassingen van een geneste for-lus.
Overweeg het bovenstaande lijstvoorbeeld. De for-lus print individuele woorden uit de lijst. Maar wat als we in plaats daarvan de afzonderlijke tekens van elk van de woorden binnen de lijst willen afdrukken?
Dit is waar een geneste for-lus beter werkt. De eerste lus (ouderlus) zal de woorden één voor één doorlopen. De tweede lus (kindlus) zal over de tekens van elk van de woorden lopen.
Uitvoer
A nested loop is structurally similar to nested if
statements
Python for-lus met de range() functie
Python range is een van de ingebouwde functies. Wanneer je wilt dat de for-lus een specifiek aantal keren wordt uitgevoerd, of wanneer je een reeks objecten moet specificeren om af te drukken, werkt de range-functie erg goed.
Bij het werken met range()
, kun je tussen 1 en 3 gehele getallen als argumenten doorgeven:
start
geeft de gehele waarde aan waarbij de reeks begint, als dit niet is opgenomen, begintstart
bij 0stop
is altijd vereist en is het gehele getal waarnaar wordt geteld maar niet is opgenomenstep
bepaalt hoeveel de volgende iteratie moet worden verhoogd (of verlaagd in het geval van negatieve getallen), als dit wordt weggelaten, wordtstep
standaard ingesteld op 1
Bekijk het volgende voorbeeld waarbij ik de getallen 1, 2 en 3 wil afdrukken:
De range-functie accepteert ook een ander argument naast de start en de stop. Dit is het stap-argument. Het vertelt de range-functie hoeveel getallen over te slaan tussen elke telling.
In het onderstaande voorbeeld heb ik het getal 3 gebruikt als de stap en je kunt zien dat de uitvoergetallen het vorige getal + 3 zijn.
We kunnen ook een negatieve waarde gebruiken voor ons step
-argument om achteruit te itereren, maar we moeten onze start
– en stop
-argumenten dienovereenkomstig aanpassen:
Hier is 100 de start
-waarde, 0 is de stop
-waarde, en -10
is het bereik, dus de lus begint bij 100 en eindigt bij 0, waarbij elke iteratie met 10 wordt verlaagd. Dit gebeurt in de uitvoer:
Output100
90
80
70
60
50
40
30
20
10
Bij het programmeren in Python maken for
-lussen vaak gebruik van het range()
-sequentietype als parameters voor iteratie.
Onderbreekverklaring met for-lus
De break-verklaring wordt gebruikt om de for-lus voortijdig te verlaten. Het wordt gebruikt om de for-lus te onderbreken wanneer aan een specifieke voorwaarde is voldaan.
Laten we zeggen dat we een lijst met getallen hebben en willen controleren of een getal aanwezig is of niet. We kunnen over de lijst met getallen itereren en als het getal wordt gevonden, uit de lus breken omdat we niet hoeven door te gaan met itereren over de resterende elementen.
In dit geval zullen we de Python if else-voorwaarde gebruiken samen met onze for-lus.
De continue-verklaring met for-lus
We kunnen continue-verklaringen gebruiken binnen een for-lus om de uitvoering van het lichaam van de for-lus over te slaan voor een specifieke voorwaarde.
Laten we zeggen dat we een lijst van getallen hebben en we willen de som van positieve getallen afdrukken. We kunnen de continue-verklaringen gebruiken om de for-lus over te slaan voor negatieve getallen.
Python for-lus met een else-blok
We kunnen het else-blok gebruiken met een Python for-lus. Het else-blok wordt alleen uitgevoerd wanneer de for-lus niet wordt beëindigd door een break-verklaring.
Laten we zeggen dat we een functie hebben om de som van getallen af te drukken als en slechts als alle getallen even zijn.
We kunnen de break-verklaring gebruiken om de for-lus te beëindigen als er een oneven getal aanwezig is. We kunnen de som afdrukken in het else-deel zodat deze alleen wordt afgedrukt wanneer de for-lus normaal wordt uitgevoerd.
For-lussen met sequentiële gegevenstypen
Lijsten en andere gegevenssequentietypen kunnen ook worden gebruikt als iteratieparameters in for
-lussen. In plaats van door een range()
te itereren, kunt u een lijst definiëren en door die lijst itereren.
We wijzen een lijst toe aan een variabele en itereren vervolgens door de lijst:
In dit geval printen we elk item in de lijst. Hoewel we de variabele shark
hebben gebruikt, hadden we de variabele een andere geldige variabelenaam kunnen geven en zouden we dezelfde uitvoer krijgen:
Outputhammerhead
great white
dogfish
frilled
bullhead
requiem
De uitvoer hierboven toont aan dat de for
-lus door de lijst is geïtereerd en elk item van de lijst per regel heeft afgedrukt.
Lijsten en andere op sequenties gebaseerde gegevenstypen zoals strings en tupels worden vaak gebruikt met lussen omdat ze iterabel zijn. U kunt deze gegevenstypen combineren met range()
om items aan een lijst toe te voegen, bijvoorbeeld:
Output['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem', 'shark', 'shark', 'shark', 'shark', 'shark', 'shark']
Hier hebben we een placeholder-reeks van 'shark'
toegevoegd voor elk item van de lengte van de lijst sharks
.
U kunt ook een for
-lus gebruiken om een lijst vanaf nul op te bouwen:
In dit voorbeeld wordt de lijst integers
leeg geïnitialiseerd, maar de for
-lus vult de lijst als volgt:
Output[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Vergelijkbaar kunnen we door strings itereren:
OutputS
a
m
m
y
Het itereren door tuples gebeurt in hetzelfde formaat als bij het itereren door lijsten of strings hierboven.
Bij het itereren door een dictionary is het belangrijk om de sleutel : waarde-structuur in gedachten te houden om ervoor te zorgen dat je het juiste element van de dictionary oproept. Hier is een voorbeeld dat zowel de sleutel als de waarde oproept:
Outputname: Sammy
animal: shark
location: ocean
color: blue
Bij het gebruik van dictionaries met for
-lussen komt de iteratievariabele overeen met de sleutels van de dictionary, en dictionary_variable[iteratievariabele]
komt overeen met de waarden. In het bovenstaande geval werd de iteratievariabele key
gebruikt om voor de sleutel te staan, en sammy_shark[key]
werd gebruikt om voor de waarden te staan.
Lussen worden vaak gebruikt om door te lopen en sequentiële datatypen te manipuleren.
Conclusie
De for-lus in Python lijkt erg op die van andere programmeertalen. We kunnen break- en continue-statements gebruiken met for-lussen om de uitvoering te wijzigen. Echter, in Python kunnen we ook een optioneel else-blok in een for-lus hebben.
I hope you have gained some interesting ideas from the tutorial above. If you have any questions, let us know in the comments below.
Vanaf hier kun je verder leren over lussen door tutorials te lezen over while-lussen en break-, continue- en pass-statements.
Om te werken met for
-lussen in projecten, volg de volgende tutorials:
Source:
https://www.digitalocean.com/community/tutorials/how-to-construct-for-loops-in-python-3