Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer For-loops | Lussen
Introductie tot Python

bookFor-loops

Welkom bij de sectie gewijd aan lussen!

In dit hoofdstuk gaan we dieper in op hoe lussen een belangrijk hulpmiddel zijn voor het automatiseren van repetitieve taken en essentieel zijn voor het efficiënt verwerken van lijsten en andere iterabele gegevenstypen.

Sluit je aan bij Alex terwijl hij het gebruik van for-lussen demonstreert om bewerkingen in onze supermarkt te vereenvoudigen:

Het gebruik van for-lussen in Python stelt je in staat om een codeblok herhaaldelijk uit te voeren voor elk item in een verzameling (iterabel object). Dit is wat je moet weten over for-lussen:

Syntax

Start een for-lus met het sleutelwoord for, gevolgd door een variabelenaam zoals item om elk element in de reeks te vertegenwoordigen. Dit wordt gevolgd door het sleutelwoord in en vervolgens het iterabele object, zoals groceryItems. Het codeblok binnen de lus wordt één keer uitgevoerd voor elk element.

In dit voorbeeld fungeert item als de iteratorvariabele die elk element in de lijst groceryItems achtereenvolgens benadert en de functie print() voor elk uitvoert:

1234
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
copy

Iteratie verwijst naar het proces van herhaaldelijk uitvoeren van een codeblok. Python ondersteunt twee hoofdtypen iteratie:

Definitieve iteratie

Waarbij het aantal iteraties vooraf bekend is. for-lussen zijn hiervan een klassiek voorbeeld en stoppen automatisch wanneer het einde van de reeks is bereikt.

Indefinitieve iteratie

Waarbij de uitvoering doorgaat totdat aan een specifieke voorwaarde is voldaan, meestal afgehandeld door while-lussen, die in het volgende hoofdstuk uitgebreid worden behandeld.

Voorbeeldtoepassingen

for-lussen in Python kunnen worden gebruikt met elke iterabele object (lists, tuples, dictionaries, strings), waardoor gegevens per element kunnen worden gemanipuleerd.

Of u nu items in een lijst, sleutels of waarden in een dictionary, of tekens in een string wilt benaderen, bieden for-lussen een duidelijke syntaxis die code vereenvoudigt voor repetitieve taken.

Hier ziet u hoe u een for-lus kunt gebruiken om over de elementen in een string en een tuple te itereren, vergelijkbaar met wat we zagen bij lijsten:

123456789
# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
copy

Bij het gebruik van een for-lus met een dictionary, worden standaard de sleutels van de dictionary doorlopen.

Dit is wat je kunt verwachten wanneer je direct over een dictionary itereert:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
copy

Merk op dat de iteratorvariabele product alleen toegang heeft tot de dictionary-sleutels.

Om over de waarden van een dictionary te itereren, kan de methode values() worden gebruikt.

Dit is nuttig voor bewerkingen waarbij toegang tot waarden vereist is zonder dat de sleutels nodig zijn:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
copy

Als het nodig is om sleutels en waarden gelijktijdig te benaderen, maakt de methode items() het mogelijk om door sleutel-waardeparen in een dictionary te itereren.

Om deze methode in een for-lus te gebruiken, worden twee variabelen vóór het in-trefwoord gespecificeerd — één voor de sleutel (product) en één voor de waarde (stock):

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
copy

Opmerking

In dit voorbeeld gebruiken we f-strings (ook wel geformatteerde string-literals genoemd) om variabelen direct in strings te plaatsen. De syntaxis is eenvoudig: voeg een f toe vóór het openingsaanhalingsteken ", en plaats variabelen of expressies binnen accolades {} in de string. Deze methode maakt het combineren van strings en variabelen in printstatements veel leesbaarder, dus het is de moeite waard om te leren.

Op basis van kennis van if/else, booleaanse operatoren en for-lussen kan een eenvoudige voorraadcontrole op een dictionary worden uitgevoerd:

123456789101112131415161718
# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary print("Checking inventory status:") for product, quantity in inventory.items(): if quantity < minimum_stock: print(f"{product} requires restocking. Only {quantity} units remain.") else: print(f"{product} has adequate stock with {quantity} units available.")
copy

Opmerking

Mogelijk valt het op dat we if-statements binnen de for-lus hebben geplaatst, wat extra inspringing aan het if-blok toevoegde. Zoals eerder vermeld, kan elk ingesprongen codeblok als onafhankelijk worden beschouwd, ongeacht waar het is geplaatst. Het belangrijkste is dat de inspringing consistent en correct is tussen de blokken.

Taak

Swipe to start coding

Som van productprijzen

Bereken de totale kosten van producten door een for-lus te gebruiken om door een lijst met prijzen te itereren.

  1. Maak een variabele total en stel deze in op 0.
  2. Gebruik een for-lus om door elke price in de lijst prices te gaan.
  3. Tel elke price op bij de variabele total binnen de lus.
  4. Print de uiteindelijke total nadat de lus is voltooid.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 1
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

Can you explain the difference between iterating over a list, tuple, and dictionary?

How do I use a for loop to access both keys and values in a dictionary?

Can you give more examples of using for loops with different data types?

close

Awesome!

Completion rate improved to 2.17

bookFor-loops

Veeg om het menu te tonen

Welkom bij de sectie gewijd aan lussen!

In dit hoofdstuk gaan we dieper in op hoe lussen een belangrijk hulpmiddel zijn voor het automatiseren van repetitieve taken en essentieel zijn voor het efficiënt verwerken van lijsten en andere iterabele gegevenstypen.

Sluit je aan bij Alex terwijl hij het gebruik van for-lussen demonstreert om bewerkingen in onze supermarkt te vereenvoudigen:

Het gebruik van for-lussen in Python stelt je in staat om een codeblok herhaaldelijk uit te voeren voor elk item in een verzameling (iterabel object). Dit is wat je moet weten over for-lussen:

Syntax

Start een for-lus met het sleutelwoord for, gevolgd door een variabelenaam zoals item om elk element in de reeks te vertegenwoordigen. Dit wordt gevolgd door het sleutelwoord in en vervolgens het iterabele object, zoals groceryItems. Het codeblok binnen de lus wordt één keer uitgevoerd voor elk element.

In dit voorbeeld fungeert item als de iteratorvariabele die elk element in de lijst groceryItems achtereenvolgens benadert en de functie print() voor elk uitvoert:

1234
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
copy

Iteratie verwijst naar het proces van herhaaldelijk uitvoeren van een codeblok. Python ondersteunt twee hoofdtypen iteratie:

Definitieve iteratie

Waarbij het aantal iteraties vooraf bekend is. for-lussen zijn hiervan een klassiek voorbeeld en stoppen automatisch wanneer het einde van de reeks is bereikt.

Indefinitieve iteratie

Waarbij de uitvoering doorgaat totdat aan een specifieke voorwaarde is voldaan, meestal afgehandeld door while-lussen, die in het volgende hoofdstuk uitgebreid worden behandeld.

Voorbeeldtoepassingen

for-lussen in Python kunnen worden gebruikt met elke iterabele object (lists, tuples, dictionaries, strings), waardoor gegevens per element kunnen worden gemanipuleerd.

Of u nu items in een lijst, sleutels of waarden in een dictionary, of tekens in een string wilt benaderen, bieden for-lussen een duidelijke syntaxis die code vereenvoudigt voor repetitieve taken.

Hier ziet u hoe u een for-lus kunt gebruiken om over de elementen in een string en een tuple te itereren, vergelijkbaar met wat we zagen bij lijsten:

123456789
# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
copy

Bij het gebruik van een for-lus met een dictionary, worden standaard de sleutels van de dictionary doorlopen.

Dit is wat je kunt verwachten wanneer je direct over een dictionary itereert:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
copy

Merk op dat de iteratorvariabele product alleen toegang heeft tot de dictionary-sleutels.

Om over de waarden van een dictionary te itereren, kan de methode values() worden gebruikt.

Dit is nuttig voor bewerkingen waarbij toegang tot waarden vereist is zonder dat de sleutels nodig zijn:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
copy

Als het nodig is om sleutels en waarden gelijktijdig te benaderen, maakt de methode items() het mogelijk om door sleutel-waardeparen in een dictionary te itereren.

Om deze methode in een for-lus te gebruiken, worden twee variabelen vóór het in-trefwoord gespecificeerd — één voor de sleutel (product) en één voor de waarde (stock):

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
copy

Opmerking

In dit voorbeeld gebruiken we f-strings (ook wel geformatteerde string-literals genoemd) om variabelen direct in strings te plaatsen. De syntaxis is eenvoudig: voeg een f toe vóór het openingsaanhalingsteken ", en plaats variabelen of expressies binnen accolades {} in de string. Deze methode maakt het combineren van strings en variabelen in printstatements veel leesbaarder, dus het is de moeite waard om te leren.

Op basis van kennis van if/else, booleaanse operatoren en for-lussen kan een eenvoudige voorraadcontrole op een dictionary worden uitgevoerd:

123456789101112131415161718
# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary print("Checking inventory status:") for product, quantity in inventory.items(): if quantity < minimum_stock: print(f"{product} requires restocking. Only {quantity} units remain.") else: print(f"{product} has adequate stock with {quantity} units available.")
copy

Opmerking

Mogelijk valt het op dat we if-statements binnen de for-lus hebben geplaatst, wat extra inspringing aan het if-blok toevoegde. Zoals eerder vermeld, kan elk ingesprongen codeblok als onafhankelijk worden beschouwd, ongeacht waar het is geplaatst. Het belangrijkste is dat de inspringing consistent en correct is tussen de blokken.

Taak

Swipe to start coding

Som van productprijzen

Bereken de totale kosten van producten door een for-lus te gebruiken om door een lijst met prijzen te itereren.

  1. Maak een variabele total en stel deze in op 0.
  2. Gebruik een for-lus om door elke price in de lijst prices te gaan.
  3. Tel elke price op bij de variabele total binnen de lus.
  4. Print de uiteindelijke total nadat de lus is voltooid.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 1
single

single

some-alt