For-lussen
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.
Volg Alex terwijl hij het gebruik van for-lussen demonstreert om bewerkingen in onze supermarkt te vereenvoudigen:
Het gebruik van for-lussen in Python maakt het mogelijk om een codeblok herhaaldelijk uit te voeren voor elk item in een verzameling (iterabel object). Dit is wat u 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. Daarna volgt 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 opeenvolgend benadert en de functie print() voor elk uitvoert:
1234groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
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 (lists, tuples, dictionaries, strings), waardoor gegevens per element kunnen worden gemanipuleerd.
Of het nu gaat om het benaderen van items in een lijst, sleutels of waarden in een dictionary, of tekens in een string, for-lussen bieden een duidelijke syntaxis die code vereenvoudigt voor repetitieve taken.
Hier volgt een voorbeeld van het gebruik van een for-lus om te itereren over de elementen in een string en een tuple, vergelijkbaar met wat we bij lijsten hebben gezien:
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)
Bij gebruik van een for-lus met een dictionary, worden standaard de sleutels van de dictionary doorlopen.
Dit is wat er gebeurt wanneer direct over een dictionary wordt geïtereerd:
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)
Merk op dat de iteratorvariabele product alleen toegang heeft tot de sleutels van het woordenboek.
Om over de waarden van een woordenboek te itereren, kan de methode values() worden gebruikt.
Dit is nuttig voor bewerkingen waarbij alleen toegang tot de waarden nodig is, zonder verwijzing naar de sleutels:
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)
Indien gelijktijdige toegang tot sleutels en waarden nodig is, maakt de methode items() het mogelijk om door sleutel-waardeparen in een woordenboek 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.")
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
ftoe 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.
Met 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.")
Opmerking
Het valt wellicht op dat we
if-statements binnen defor-lus hebben geplaatst, wat extra inspringing aan hetif-blok toevoegt. Zoals eerder vermeld, kan elk ingesprongen codeblok als onafhankelijk worden beschouwd, ongeacht de locatie. Het belangrijkste is dat de inspringing consistent en correct is tussen de blokken.
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.
- Maak een variabele
totalen stel deze in op0. - Gebruik een for-lus om door elke
pricein de lijstpriceste gaan. - Tel elke
priceop bij de variabeletotalbinnen de lus. - Print de uiteindelijke
totalnadat de lus is voltooid.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Geweldig!
Completion tarief verbeterd naar 2.08
For-lussen
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.
Volg Alex terwijl hij het gebruik van for-lussen demonstreert om bewerkingen in onze supermarkt te vereenvoudigen:
Het gebruik van for-lussen in Python maakt het mogelijk om een codeblok herhaaldelijk uit te voeren voor elk item in een verzameling (iterabel object). Dit is wat u 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. Daarna volgt 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 opeenvolgend benadert en de functie print() voor elk uitvoert:
1234groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
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 (lists, tuples, dictionaries, strings), waardoor gegevens per element kunnen worden gemanipuleerd.
Of het nu gaat om het benaderen van items in een lijst, sleutels of waarden in een dictionary, of tekens in een string, for-lussen bieden een duidelijke syntaxis die code vereenvoudigt voor repetitieve taken.
Hier volgt een voorbeeld van het gebruik van een for-lus om te itereren over de elementen in een string en een tuple, vergelijkbaar met wat we bij lijsten hebben gezien:
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)
Bij gebruik van een for-lus met een dictionary, worden standaard de sleutels van de dictionary doorlopen.
Dit is wat er gebeurt wanneer direct over een dictionary wordt geïtereerd:
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)
Merk op dat de iteratorvariabele product alleen toegang heeft tot de sleutels van het woordenboek.
Om over de waarden van een woordenboek te itereren, kan de methode values() worden gebruikt.
Dit is nuttig voor bewerkingen waarbij alleen toegang tot de waarden nodig is, zonder verwijzing naar de sleutels:
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)
Indien gelijktijdige toegang tot sleutels en waarden nodig is, maakt de methode items() het mogelijk om door sleutel-waardeparen in een woordenboek 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.")
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
ftoe 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.
Met 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.")
Opmerking
Het valt wellicht op dat we
if-statements binnen defor-lus hebben geplaatst, wat extra inspringing aan hetif-blok toevoegt. Zoals eerder vermeld, kan elk ingesprongen codeblok als onafhankelijk worden beschouwd, ongeacht de locatie. Het belangrijkste is dat de inspringing consistent en correct is tussen de blokken.
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.
- Maak een variabele
totalen stel deze in op0. - Gebruik een for-lus om door elke
pricein de lijstpriceste gaan. - Tel elke
priceop bij de variabeletotalbinnen de lus. - Print de uiteindelijke
totalnadat de lus is voltooid.
Oplossing
Bedankt voor je feedback!
single