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

Veeg om het menu te tonen

book
Itereren over Indexen

In de vorige taak gaf je een specifiek aantal items op aan de functie range(). Maar wat als je het aantal dynamisch moet bepalen? Dit is waar index-iteratie essentieel wordt.

Index-iteratie is een kerntechniek in Python waarmee je elementen kunt benaderen en aanpassen op basis van hun positie binnen datastructuren zoals lijsten of arrays. Het is vooral handig voor taken die nauwkeurige controle over elk element vereisen, zoals het bijwerken van voorraadniveaus of het beheren van verkoopgegevens in een supermarkt.

Bekijk hoe Alex laat zien hoe itereren over indexen handelingen in ons supermarktvoorbeeld kan vereenvoudigen:

Itereren over indexen is nuttig wanneer je zowel de index als de waarde van elk element in een lijst moet benaderen. Wanneer we range() samen met len() gebruiken, combineren we twee functies om een reeks getallen te genereren die overeenkomen met de indices van de lijst-elementen. Deze methode is bijzonder bruikbaar in lussen waarin je elementen moet benaderen of aanpassen op basis van hun positie.

Dit for-loopvoorbeeld benadert de index en de waarde van elk element in de grocery_list:

12345678
# List of grocery items grocery_list = ["Apples", "Bananas", "Carrots", "Cucumbers"] # Initialize a for loop to iterate over indexes for item in range(len(grocery_list)): print("Index:", item) print("Item:", grocery_list[item]) print("----") # Printing a divider line for clarity
copy

Voorbeeldtoepassing

Om een korting toe te passen op een lijst met prijzen, moeten we de elementen van de lijst direct aanpassen. Een eenvoudige lus zoals for cost in prices: geeft ons alleen een kopie van elk item, niet een verwijzing naar het daadwerkelijke item in de lijst. Aanpassingen die op deze manier worden gemaakt, beïnvloeden de originele lijst niet.

Om ervoor te zorgen dat we elk element direct bijwerken in de prices-lijst, gebruiken we range(len(prices)) om over de indexen te itereren. Dit stelt ons in staat om een kortingsfactor op elk element toe te passen:

12345678910111213
# List of original prices of grocery items prices = [1.50, 2.00, 0.75, 3.25] # Discount factor (10% off each item) discount_factor = 0.10 # Iterate over the list of prices using range(len()) for cost in range(len(prices)): # Apply the discount by reducing the price prices[cost] -= prices[cost] * discount_factor print(f"New price of item {cost + 1}: ${prices[cost]}") print("Updated prices:", prices)
copy

Opmerking

  • De formule prices[cost] -= prices[cost] * discount_factor is gelijk aan prices[cost] = prices[cost] - prices[cost] * discount_factor. Hiermee wordt een deel van de oorspronkelijke prijs (bepaald door de korting) van zichzelf afgetrokken, waardoor de korting effectief wordt toegepast.

  • De cost + 1 in de printopdracht past de index aan zodat deze vanaf 1 lijkt te beginnen in plaats van 0, wat gebruiksvriendelijker is.

Met deze methode wordt de originele lijst prices direct bijgewerkt met de nieuwe, verlaagde prijzen, zodat de wijzigingen direct zichtbaar zijn in het hele programma waar de prices-lijst wordt gebruikt.

Taak

Swipe to start coding

Werk voorraadniveaus bij door gegevens uit twee lijsten te combineren: stock_items en shipment_received. Het resultaat zal vervolgens de lijst stock_items bijwerken.

  • Zowel stock_items als shipment_received zijn lijsten van lijsten, elk met een productnaam en de bijbehorende hoeveelheid.
  • Gebruik een for-lus met range() en len() om door de indexen van stock_items te itereren.
  • Tel voor elk product de hoeveelheid uit de zending op bij de bestaande voorraad en werk de waarde in stock_items bij.

Uitvoervereisten

  • Print voor elk product:
    Voorraad bijgewerkt voor <product_name>: <updated_quantity> eenheden
  • Print na alle updates:
    Eindvoorraad hoeveelheden:
    Stock Items: <stock_items>

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 4

Vraag AI

expand
ChatGPT

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

book
Itereren over Indexen

In de vorige taak gaf je een specifiek aantal items op aan de functie range(). Maar wat als je het aantal dynamisch moet bepalen? Dit is waar index-iteratie essentieel wordt.

Index-iteratie is een kerntechniek in Python waarmee je elementen kunt benaderen en aanpassen op basis van hun positie binnen datastructuren zoals lijsten of arrays. Het is vooral handig voor taken die nauwkeurige controle over elk element vereisen, zoals het bijwerken van voorraadniveaus of het beheren van verkoopgegevens in een supermarkt.

Bekijk hoe Alex laat zien hoe itereren over indexen handelingen in ons supermarktvoorbeeld kan vereenvoudigen:

Itereren over indexen is nuttig wanneer je zowel de index als de waarde van elk element in een lijst moet benaderen. Wanneer we range() samen met len() gebruiken, combineren we twee functies om een reeks getallen te genereren die overeenkomen met de indices van de lijst-elementen. Deze methode is bijzonder bruikbaar in lussen waarin je elementen moet benaderen of aanpassen op basis van hun positie.

Dit for-loopvoorbeeld benadert de index en de waarde van elk element in de grocery_list:

12345678
# List of grocery items grocery_list = ["Apples", "Bananas", "Carrots", "Cucumbers"] # Initialize a for loop to iterate over indexes for item in range(len(grocery_list)): print("Index:", item) print("Item:", grocery_list[item]) print("----") # Printing a divider line for clarity
copy

Voorbeeldtoepassing

Om een korting toe te passen op een lijst met prijzen, moeten we de elementen van de lijst direct aanpassen. Een eenvoudige lus zoals for cost in prices: geeft ons alleen een kopie van elk item, niet een verwijzing naar het daadwerkelijke item in de lijst. Aanpassingen die op deze manier worden gemaakt, beïnvloeden de originele lijst niet.

Om ervoor te zorgen dat we elk element direct bijwerken in de prices-lijst, gebruiken we range(len(prices)) om over de indexen te itereren. Dit stelt ons in staat om een kortingsfactor op elk element toe te passen:

12345678910111213
# List of original prices of grocery items prices = [1.50, 2.00, 0.75, 3.25] # Discount factor (10% off each item) discount_factor = 0.10 # Iterate over the list of prices using range(len()) for cost in range(len(prices)): # Apply the discount by reducing the price prices[cost] -= prices[cost] * discount_factor print(f"New price of item {cost + 1}: ${prices[cost]}") print("Updated prices:", prices)
copy

Opmerking

  • De formule prices[cost] -= prices[cost] * discount_factor is gelijk aan prices[cost] = prices[cost] - prices[cost] * discount_factor. Hiermee wordt een deel van de oorspronkelijke prijs (bepaald door de korting) van zichzelf afgetrokken, waardoor de korting effectief wordt toegepast.

  • De cost + 1 in de printopdracht past de index aan zodat deze vanaf 1 lijkt te beginnen in plaats van 0, wat gebruiksvriendelijker is.

Met deze methode wordt de originele lijst prices direct bijgewerkt met de nieuwe, verlaagde prijzen, zodat de wijzigingen direct zichtbaar zijn in het hele programma waar de prices-lijst wordt gebruikt.

Taak

Swipe to start coding

Werk voorraadniveaus bij door gegevens uit twee lijsten te combineren: stock_items en shipment_received. Het resultaat zal vervolgens de lijst stock_items bijwerken.

  • Zowel stock_items als shipment_received zijn lijsten van lijsten, elk met een productnaam en de bijbehorende hoeveelheid.
  • Gebruik een for-lus met range() en len() om door de indexen van stock_items te itereren.
  • Tel voor elk product de hoeveelheid uit de zending op bij de bestaande voorraad en werk de waarde in stock_items bij.

Uitvoervereisten

  • Print voor elk product:
    Voorraad bijgewerkt voor <product_name>: <updated_quantity> eenheden
  • Print na alle updates:
    Eindvoorraad hoeveelheden:
    Stock Items: <stock_items>

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 4
Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Onze excuses dat er iets mis is gegaan. Wat is er gebeurd?
some-alt