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

Swipe um das Menü anzuzeigen

book
Iteration Über Indizes

In der vorherigen Aufgabe hast du eine bestimmte Anzahl von Elementen an die Funktion range() übergeben. Aber was ist, wenn du die Anzahl dynamisch bestimmen musst? Hier wird die Indexiteration unerlässlich.

Die Indexiteration ist eine zentrale Technik in Python, mit der du auf Elemente zugreifen und sie verändern kannst, indem du ihre Positionen in Datenstrukturen wie Listen oder Arrays verwendest. Sie ist besonders nützlich für Aufgaben, die eine präzise Kontrolle über jedes Element erfordern, wie zum Beispiel das Aktualisieren von Lagerbeständen oder das Verwalten von Verkaufsdaten in einem Lebensmittelgeschäft.

Sieh dir an, wie Alex zeigt, wie das Iterieren über Indizes die Abläufe in unserem Lebensmittelgeschäft-Beispiel vereinfachen kann:

Das Iterieren ü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 du auf Elemente basierend auf ihrer Position zugreifen oder sie verändern musst.

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 die Elemente der Liste direkt verändert werden. Eine einfache Schleife wie for cost in prices: liefert nur eine Kopie jedes Elements, nicht jedoch eine Referenz auf das tatsächliche Element in der Liste. Änderungen auf diese Weise beeinflussen die Original-Liste nicht.

Um sicherzustellen, dass wir jedes Element in der Liste prices direkt aktualisieren, verwenden wir range(len(prices)), um über die Indizes zu iterieren. Dadurch können wir auf jedes Element einen 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)
copy

Hinweis

  • Die Formel prices[cost] -= prices[cost] * discount_factor ist äquivalent zu prices[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 print-Anweisung passt den Index so an, dass er bei 1 statt bei 0 beginnt, was benutzerfreundlicher ist.

Mit dieser Methode wird die ursprüngliche Liste prices direkt mit den neuen, rabattierten Preisen aktualisiert, sodass die Änderungen sofort im gesamten Programm wirksam sind, wo immer die Liste prices verwendet wird.

Aufgabe

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 auch shipment_received sind Listen von Listen, die jeweils einen Produktnamen und dessen Menge enthalten.
  • Verwendung einer for-Schleife mit range() und len(), um über die Indizes von stock_items zu iterieren.
  • Für jedes Produkt wird die Liefermenge zum bestehenden 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

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
Iteration Über Indizes

In der vorherigen Aufgabe hast du eine bestimmte Anzahl von Elementen an die Funktion range() übergeben. Aber was ist, wenn du die Anzahl dynamisch bestimmen musst? Hier wird die Indexiteration unerlässlich.

Die Indexiteration ist eine zentrale Technik in Python, mit der du auf Elemente zugreifen und sie verändern kannst, indem du ihre Positionen in Datenstrukturen wie Listen oder Arrays verwendest. Sie ist besonders nützlich für Aufgaben, die eine präzise Kontrolle über jedes Element erfordern, wie zum Beispiel das Aktualisieren von Lagerbeständen oder das Verwalten von Verkaufsdaten in einem Lebensmittelgeschäft.

Sieh dir an, wie Alex zeigt, wie das Iterieren über Indizes die Abläufe in unserem Lebensmittelgeschäft-Beispiel vereinfachen kann:

Das Iterieren ü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 du auf Elemente basierend auf ihrer Position zugreifen oder sie verändern musst.

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 die Elemente der Liste direkt verändert werden. Eine einfache Schleife wie for cost in prices: liefert nur eine Kopie jedes Elements, nicht jedoch eine Referenz auf das tatsächliche Element in der Liste. Änderungen auf diese Weise beeinflussen die Original-Liste nicht.

Um sicherzustellen, dass wir jedes Element in der Liste prices direkt aktualisieren, verwenden wir range(len(prices)), um über die Indizes zu iterieren. Dadurch können wir auf jedes Element einen 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)
copy

Hinweis

  • Die Formel prices[cost] -= prices[cost] * discount_factor ist äquivalent zu prices[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 print-Anweisung passt den Index so an, dass er bei 1 statt bei 0 beginnt, was benutzerfreundlicher ist.

Mit dieser Methode wird die ursprüngliche Liste prices direkt mit den neuen, rabattierten Preisen aktualisiert, sodass die Änderungen sofort im gesamten Programm wirksam sind, wo immer die Liste prices verwendet wird.

Aufgabe

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 auch shipment_received sind Listen von Listen, die jeweils einen Produktnamen und dessen Menge enthalten.
  • Verwendung einer for-Schleife mit range() und len(), um über die Indizes von stock_items zu iterieren.
  • Für jedes Produkt wird die Liefermenge zum bestehenden 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

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