Iterieren Über Indizes
In der vorherigen Aufgabe haben Sie der Funktion range()
eine bestimmte Anzahl von Elementen übergeben. Aber was ist, wenn Sie die Anzahl dynamisch bestimmen müssen? Hier wird die Indexiteration besonders wichtig.
Die Indexiteration ist eine zentrale Technik in Python, mit der Sie Elemente anhand ihrer Position in Datenstrukturen wie Listen oder Arrays zugreifen und ändern können. Sie ist besonders nützlich für Aufgaben, die präzise Kontrolle über jedes Element erfordern, wie zum Beispiel das Aktualisieren von Lagerbeständen oder das Verwalten von Verkaufsdaten in einem Lebensmittelgeschäft.
Sehen Sie, wie Alex demonstriert, wie die Iteration über Indizes die Abläufe in unserem Lebensmittelgeschäft-Beispiel vereinfachen kann:
Die Iteration über Indizes ist nützlich, wenn sowohl der Index als auch der Wert jedes Elements in einer Liste benötigt werden. Wenn wir range()
mit len()
verwenden, kombinieren wir zwei Funktionen, um eine Zahlenfolge zu erzeugen, die den Indizes der Listenelemente entspricht. Diese Methode ist besonders hilfreich in Schleifen, in denen Sie Elemente basierend auf ihrer Position zugreifen oder ändern müssen.
Zum Beispiel greift diese for
-Schleife auf den Index und den Wert jedes Elements in der grocery_list
zu:
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
Anwendungsbeispiel
Um einen Rabatt auf eine Liste von Preisen anzuwenden, müssen die Elemente der Liste direkt verändert werden. Eine einfache Schleife wie for cost in prices:
liefert lediglich eine Kopie jedes Elements, jedoch keinen Verweis auf das tatsächliche Element in der Liste. Änderungen auf diese Weise beeinflussen die Original-Liste nicht.
Um sicherzustellen, dass wir in der Liste prices
jedes Element direkt aktualisieren können, verwenden wir range(len(prices))
, um über die Indizes zu iterieren. Dadurch lässt sich auf jedes Element ein Rabattfaktor anwenden:
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)
Hinweis
Die Formel
prices[cost] -= prices[cost] * discount_factor
ist gleichbedeutend mitprices[cost] = prices[cost] - prices[cost] * discount_factor
. Dadurch wird ein Anteil des ursprünglichen Preises (bestimmt durch den Rabatt) vom Preis abgezogen, wodurch der Rabatt angewendet wird;Das
cost + 1
in der Ausgabefunktion passt den Index so an, dass er bei1
statt bei0
beginnt, was benutzerfreundlicher ist.
Mit dieser Methode wird die ursprüngliche Liste prices
direkt mit den neuen, rabattierten Preisen aktualisiert, sodass die Änderungen im gesamten Programm sofort sichtbar sind, wo immer die Liste prices
verwendet wird.
Swipe to start coding
Aktualisierung der Lagerbestände durch Zusammenführen der Daten aus zwei Listen: stock_items
und shipment_received
. Das Ergebnis aktualisiert anschließend die Liste stock_items
.
- Sowohl
stock_items
als auchshipment_received
sind Listen von Listen, die jeweils einen Produktnamen und dessen Menge enthalten. - Verwendung einer
for
-Schleife mitrange()
undlen()
, um über die Indizes vonstock_items
zu iterieren. - Für jedes Produkt wird die Liefermenge zum vorhandenen Bestand addiert und der Wert in
stock_items
aktualisiert.
Ausgabebedingungen
- Für jedes Produkt ausgeben:
Stock updated for <product_name>: <updated_quantity> units
- Nach allen Aktualisierungen ausgeben:
Final stock quantities:
Stock Items: <stock_items>
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
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
Iterieren Über Indizes
Swipe um das Menü anzuzeigen
In der vorherigen Aufgabe haben Sie der Funktion range()
eine bestimmte Anzahl von Elementen übergeben. Aber was ist, wenn Sie die Anzahl dynamisch bestimmen müssen? Hier wird die Indexiteration besonders wichtig.
Die Indexiteration ist eine zentrale Technik in Python, mit der Sie Elemente anhand ihrer Position in Datenstrukturen wie Listen oder Arrays zugreifen und ändern können. Sie ist besonders nützlich für Aufgaben, die präzise Kontrolle über jedes Element erfordern, wie zum Beispiel das Aktualisieren von Lagerbeständen oder das Verwalten von Verkaufsdaten in einem Lebensmittelgeschäft.
Sehen Sie, wie Alex demonstriert, wie die Iteration über Indizes die Abläufe in unserem Lebensmittelgeschäft-Beispiel vereinfachen kann:
Die Iteration über Indizes ist nützlich, wenn sowohl der Index als auch der Wert jedes Elements in einer Liste benötigt werden. Wenn wir range()
mit len()
verwenden, kombinieren wir zwei Funktionen, um eine Zahlenfolge zu erzeugen, die den Indizes der Listenelemente entspricht. Diese Methode ist besonders hilfreich in Schleifen, in denen Sie Elemente basierend auf ihrer Position zugreifen oder ändern müssen.
Zum Beispiel greift diese for
-Schleife auf den Index und den Wert jedes Elements in der grocery_list
zu:
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
Anwendungsbeispiel
Um einen Rabatt auf eine Liste von Preisen anzuwenden, müssen die Elemente der Liste direkt verändert werden. Eine einfache Schleife wie for cost in prices:
liefert lediglich eine Kopie jedes Elements, jedoch keinen Verweis auf das tatsächliche Element in der Liste. Änderungen auf diese Weise beeinflussen die Original-Liste nicht.
Um sicherzustellen, dass wir in der Liste prices
jedes Element direkt aktualisieren können, verwenden wir range(len(prices))
, um über die Indizes zu iterieren. Dadurch lässt sich auf jedes Element ein Rabattfaktor anwenden:
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)
Hinweis
Die Formel
prices[cost] -= prices[cost] * discount_factor
ist gleichbedeutend mitprices[cost] = prices[cost] - prices[cost] * discount_factor
. Dadurch wird ein Anteil des ursprünglichen Preises (bestimmt durch den Rabatt) vom Preis abgezogen, wodurch der Rabatt angewendet wird;Das
cost + 1
in der Ausgabefunktion passt den Index so an, dass er bei1
statt bei0
beginnt, was benutzerfreundlicher ist.
Mit dieser Methode wird die ursprüngliche Liste prices
direkt mit den neuen, rabattierten Preisen aktualisiert, sodass die Änderungen im gesamten Programm sofort sichtbar sind, wo immer die Liste prices
verwendet wird.
Swipe to start coding
Aktualisierung der Lagerbestände durch Zusammenführen der Daten aus zwei Listen: stock_items
und shipment_received
. Das Ergebnis aktualisiert anschließend die Liste stock_items
.
- Sowohl
stock_items
als auchshipment_received
sind Listen von Listen, die jeweils einen Produktnamen und dessen Menge enthalten. - Verwendung einer
for
-Schleife mitrange()
undlen()
, um über die Indizes vonstock_items
zu iterieren. - Für jedes Produkt wird die Liefermenge zum vorhandenen Bestand addiert und der Wert in
stock_items
aktualisiert.
Ausgabebedingungen
- Für jedes Produkt ausgeben:
Stock updated for <product_name>: <updated_quantity> units
- Nach allen Aktualisierungen ausgeben:
Final stock quantities:
Stock Items: <stock_items>
Lösung
Danke für Ihr Feedback!
single