Itereren Over Indexen
In de vorige taak heb je een specifiek aantal items aan de functie range() meegegeven. 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 dat itereren over indexen bewerkingen 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
Voorbeeldtoepassing
Om een korting toe te passen op een lijst met prijzen, moeten de elementen van de lijst direct worden aangepast. Een eenvoudige lus zoals for cost in prices: geeft alleen een kopie van elk item, niet een verwijzing naar het daadwerkelijke item in de lijst. Aanpassingen op deze manier 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. Hiermee kunnen we een kortingsfactor toepassen op elk element:
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)
Opmerking
De formule
prices[cost] -= prices[cost] * discount_factoris gelijk aanprices[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 + 1in de printopdracht past de index aan zodat deze begint bij1in plaats van0, 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.
Swipe to start coding
Korting op basis van positie
Pas kortingspercentages toe op productprijzen op basis van hun positie in de lijst door middel van index-iteratie.
- Gebruik een for-lus met
range()enlen()om door de indexen vanpriceste itereren. - Pas kortingen toe op basis van de indexpositie: 10% voor index 0, 20% voor index 1, 15% voor index 2 en 5% voor index 3.
- Werk elke prijs in de lijst
pricesbij door te vermenigvuldigen met de kortingsfactor (bijv. 0,9 voor 10% korting). - Print
Updated price for item {index}: ${updated_price:.2f}voor elk item.
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.
Can you explain why using `range(len(list))` is better for modifying list elements?
How would I apply a different discount to each item in the list?
What happens if I use a regular `for item in list:` loop instead?
Awesome!
Completion rate improved to 2.17
Itereren Over Indexen
Veeg om het menu te tonen
In de vorige taak heb je een specifiek aantal items aan de functie range() meegegeven. 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 dat itereren over indexen bewerkingen 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
Voorbeeldtoepassing
Om een korting toe te passen op een lijst met prijzen, moeten de elementen van de lijst direct worden aangepast. Een eenvoudige lus zoals for cost in prices: geeft alleen een kopie van elk item, niet een verwijzing naar het daadwerkelijke item in de lijst. Aanpassingen op deze manier 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. Hiermee kunnen we een kortingsfactor toepassen op elk element:
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)
Opmerking
De formule
prices[cost] -= prices[cost] * discount_factoris gelijk aanprices[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 + 1in de printopdracht past de index aan zodat deze begint bij1in plaats van0, 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.
Swipe to start coding
Korting op basis van positie
Pas kortingspercentages toe op productprijzen op basis van hun positie in de lijst door middel van index-iteratie.
- Gebruik een for-lus met
range()enlen()om door de indexen vanpriceste itereren. - Pas kortingen toe op basis van de indexpositie: 10% voor index 0, 20% voor index 1, 15% voor index 2 en 5% voor index 3.
- Werk elke prijs in de lijst
pricesbij door te vermenigvuldigen met de kortingsfactor (bijv. 0,9 voor 10% korting). - Print
Updated price for item {index}: ${updated_price:.2f}voor elk item.
Oplossing
Bedankt voor je feedback!
single