Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Über Indizes Iterieren | Schleifen
Einführung in Python

Swipe um das Menü anzuzeigen

book
Über Indizes Iterieren

Im vorherigen Abschnitt haben Sie der Funktion range() eine bestimmte Anzahl von Elementen übergeben. Aber was, wenn Sie die Anzahl dynamisch bestimmen müssen? Hier wird die Indexiteration wesentlich.

Die Indexiteration ist eine Kerntechnik in Python, die es Ihnen ermöglicht, Elemente anhand ihrer Positionen in Datenstrukturen wie Listen oder Arrays zuzugreifen und zu modifizieren. Sie ist besonders hilfreich für Aufgaben, die eine präzise Kontrolle über jedes Element erfordern, wie das Aktualisieren von Lagerbeständen oder das Verwalten von Verkaufsdaten in einem Lebensmittelgeschäft.

Sehen Sie zu, wie Alex demonstriert, wie das Iterieren über Indizes die Abläufe in unserem Lebensmittelgeschäft-Beispiel vereinfachen kann:

Das Iterieren über Indizes ist nützlich, wenn Sie sowohl den Index als auch den Wert jedes Elements in einer Liste benötigen. 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 nützlich in Schleifen, bei denen Sie Elemente basierend auf ihrer Position zugreifen oder modifizieren 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
copy

Beispielanwendung

Um einen Rabatt auf eine Liste von Preisen anzuwenden, müssen wir die Elemente der Liste direkt ändern. Die Verwendung einer einfachen Schleife wie for cost in prices: würde uns nur eine Kopie jedes Elements geben, nicht eine Referenz auf das tatsächliche Element in der Liste. Änderungen, die auf diese Weise vorgenommen werden, würden die ursprüngliche Liste nicht beeinflussen.

Um sicherzustellen, dass wir jedes Element direkt aktualisieren in der prices-Liste, verwenden wir range(len(prices)), um über die Indizes zu iterieren. Dies ermöglicht es uns, einen Rabattfaktor auf jedes Element anzuwenden:

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

Hinweis

  • Die Formel prices[cost] -= prices[cost] * discount_factor ist gleichbedeutend mit prices[cost] = prices[cost] - prices[cost] * discount_factor . Dies zieht einen Teil des ursprünglichen Preises (bestimmt durch den Rabatt) von sich selbst ab und wendet den Rabatt effektiv an.

  • Das cost + 1 in der print-Anweisung passt den Index so an, dass er bei 1 statt bei 0 zu beginnen scheint, was benutzerfreundlicher ist.

Diese Methode stellt sicher, dass die ursprüngliche Liste prices direkt mit den neuen, rabattierten Preisen aktualisiert wird, was die Änderungen sofort im gesamten Programm widerspiegelt, wo immer die prices-Liste verwendet wird.

Aufgabe

Swipe to start coding

In dieser Aufgabe arbeiten Sie mit Listen, die Lagerbestände und Lieferungen darstellen, um die Lagerbestände zu aktualisieren. Sie verwenden die Indexiteration, um die Lagerbestände effizient basierend auf den erhaltenen Lieferdaten zu aktualisieren.

Code-Anweisungen

  • Ihnen werden zwei Listen zur Verfügung gestellt: stock_items und shipment_received. Jede verschachtelte Liste innerhalb dieser Listen enthält einen Produktnamen und dessen Menge.
  • Verwenden Sie eine for-Schleife in Kombination mit den Funktionen range() und len(), um über die stock_items-Liste nach Index zu iterieren.
  • Aktualisieren Sie für jedes Produkt die Lagerbestände, indem Sie die entsprechende Menge aus der shipment_received-Liste hinzufügen.

Ausgabeanforderungen

  • Für jedes Produkt drucken Sie eine Nachricht im Format: Stock updated for <product_name>: <updated_quantity> units.
  • Nach der Aktualisierung aller Produkte drucken Sie die endgültigen Lagerbestände mit der Nachricht: Final stock quantities:.
  • Zeigen Sie die aktualisierte stock_items-Liste im Format an: Stock Items: <stock_items>.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 4
Wir sind enttäuscht, dass etwas schief gelaufen ist. Was ist passiert?

Fragen Sie AI

expand
ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

book
Über Indizes Iterieren

Im vorherigen Abschnitt haben Sie der Funktion range() eine bestimmte Anzahl von Elementen übergeben. Aber was, wenn Sie die Anzahl dynamisch bestimmen müssen? Hier wird die Indexiteration wesentlich.

Die Indexiteration ist eine Kerntechnik in Python, die es Ihnen ermöglicht, Elemente anhand ihrer Positionen in Datenstrukturen wie Listen oder Arrays zuzugreifen und zu modifizieren. Sie ist besonders hilfreich für Aufgaben, die eine präzise Kontrolle über jedes Element erfordern, wie das Aktualisieren von Lagerbeständen oder das Verwalten von Verkaufsdaten in einem Lebensmittelgeschäft.

Sehen Sie zu, wie Alex demonstriert, wie das Iterieren über Indizes die Abläufe in unserem Lebensmittelgeschäft-Beispiel vereinfachen kann:

Das Iterieren über Indizes ist nützlich, wenn Sie sowohl den Index als auch den Wert jedes Elements in einer Liste benötigen. 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 nützlich in Schleifen, bei denen Sie Elemente basierend auf ihrer Position zugreifen oder modifizieren 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
copy

Beispielanwendung

Um einen Rabatt auf eine Liste von Preisen anzuwenden, müssen wir die Elemente der Liste direkt ändern. Die Verwendung einer einfachen Schleife wie for cost in prices: würde uns nur eine Kopie jedes Elements geben, nicht eine Referenz auf das tatsächliche Element in der Liste. Änderungen, die auf diese Weise vorgenommen werden, würden die ursprüngliche Liste nicht beeinflussen.

Um sicherzustellen, dass wir jedes Element direkt aktualisieren in der prices-Liste, verwenden wir range(len(prices)), um über die Indizes zu iterieren. Dies ermöglicht es uns, einen Rabattfaktor auf jedes Element anzuwenden:

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

Hinweis

  • Die Formel prices[cost] -= prices[cost] * discount_factor ist gleichbedeutend mit prices[cost] = prices[cost] - prices[cost] * discount_factor . Dies zieht einen Teil des ursprünglichen Preises (bestimmt durch den Rabatt) von sich selbst ab und wendet den Rabatt effektiv an.

  • Das cost + 1 in der print-Anweisung passt den Index so an, dass er bei 1 statt bei 0 zu beginnen scheint, was benutzerfreundlicher ist.

Diese Methode stellt sicher, dass die ursprüngliche Liste prices direkt mit den neuen, rabattierten Preisen aktualisiert wird, was die Änderungen sofort im gesamten Programm widerspiegelt, wo immer die prices-Liste verwendet wird.

Aufgabe

Swipe to start coding

In dieser Aufgabe arbeiten Sie mit Listen, die Lagerbestände und Lieferungen darstellen, um die Lagerbestände zu aktualisieren. Sie verwenden die Indexiteration, um die Lagerbestände effizient basierend auf den erhaltenen Lieferdaten zu aktualisieren.

Code-Anweisungen

  • Ihnen werden zwei Listen zur Verfügung gestellt: stock_items und shipment_received. Jede verschachtelte Liste innerhalb dieser Listen enthält einen Produktnamen und dessen Menge.
  • Verwenden Sie eine for-Schleife in Kombination mit den Funktionen range() und len(), um über die stock_items-Liste nach Index zu iterieren.
  • Aktualisieren Sie für jedes Produkt die Lagerbestände, indem Sie die entsprechende Menge aus der shipment_received-Liste hinzufügen.

Ausgabeanforderungen

  • Für jedes Produkt drucken Sie eine Nachricht im Format: Stock updated for <product_name>: <updated_quantity> units.
  • Nach der Aktualisierung aller Produkte drucken Sie die endgültigen Lagerbestände mit der Nachricht: Final stock quantities:.
  • Zeigen Sie die aktualisierte stock_items-Liste im Format an: Stock Items: <stock_items>.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 4
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
Wir sind enttäuscht, dass etwas schief gelaufen ist. Was ist passiert?
some-alt