Iterering Over Indekser
I den forrige opgave angav du et specifikt antal elementer til funktionen range(). Men hvad nu, hvis du skal bestemme antallet dynamisk? Det er her, indeks-iteration bliver afgørende.
Indeks-iteration er en grundlæggende teknik i Python, der gør det muligt at tilgå og ændre elementer ud fra deres positioner i datastrukturer som lister eller arrays. Det er især nyttigt til opgaver, der kræver præcis kontrol over hvert element, såsom opdatering af lagerbeholdning eller håndtering af salgsdata i en dagligvarebutik.
Se med, når Alex demonstrerer, hvordan iteration over indekser kan forenkle operationer i vores dagligvarebutikseksempel:
Iteration over indekser er nyttig, når du skal tilgå både indekset og værdien af hvert element i en liste. Når vi bruger range() sammen med len(), kombinerer vi to funktioner for at generere en sekvens af tal, der svarer til indeksene for listeelementerne. Denne metode er særligt anvendelig i løkker, hvor du skal tilgå eller ændre elementer baseret på deres position.
For eksempel tilgår denne for-løkke både indekset og værdien af hvert element i 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
Eksempel på anvendelse
For at anvende en rabat på en liste af priser, skal vi ændre elementerne i listen direkte. Hvis vi bruger en simpel løkke som for cost in prices:, får vi kun en kopi af hvert element, ikke en reference til det faktiske element i listen. Ændringer foretaget på denne måde vil ikke påvirke den oprindelige liste.
For at sikre, at vi opdaterer hvert element direkte i prices-listen, bruger vi range(len(prices)) til at iterere over indeksene. Dette gør det muligt at anvende en rabatfaktor på hvert 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)
Bemærk
Formlen
prices[cost] -= prices[cost] * discount_factorsvarer tilprices[cost] = prices[cost] - prices[cost] * discount_factor. Dette trækker en del af den oprindelige pris (bestemt af rabatten) fra sig selv og anvender dermed rabatten;
cost + 1i print-udtrykket justerer indekset, så det ser ud til at starte fra1i stedet for0, hvilket gør det mere brugervenligt.
Denne metode sikrer, at den oprindelige liste prices opdateres direkte med de nye, nedsatte priser, så ændringerne straks afspejles overalt i programmet, hvor prices-listen bruges.
Swipe to start coding
Rabat efter position
Anvend rabatprocenter på produktpriser baseret på deres placering i listen ved hjælp af indeksiteration.
- Brug en for-løkke med
range()oglen()til at iterere gennem indeksene iprices. - Anvend rabatter baseret på indeksposition: 10% for indeks 0, 20% for indeks 1, 15% for indeks 2 og 5% for indeks 3.
- Opdater hver pris i
prices-listen ved at multiplicere med rabatfaktoren (f.eks. 0,9 for 10% rabat). - Udskriv
Updated price for item {index}: ${updated_price:.2f}for hvert element.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 2.17
Iterering Over Indekser
Stryg for at vise menuen
I den forrige opgave angav du et specifikt antal elementer til funktionen range(). Men hvad nu, hvis du skal bestemme antallet dynamisk? Det er her, indeks-iteration bliver afgørende.
Indeks-iteration er en grundlæggende teknik i Python, der gør det muligt at tilgå og ændre elementer ud fra deres positioner i datastrukturer som lister eller arrays. Det er især nyttigt til opgaver, der kræver præcis kontrol over hvert element, såsom opdatering af lagerbeholdning eller håndtering af salgsdata i en dagligvarebutik.
Se med, når Alex demonstrerer, hvordan iteration over indekser kan forenkle operationer i vores dagligvarebutikseksempel:
Iteration over indekser er nyttig, når du skal tilgå både indekset og værdien af hvert element i en liste. Når vi bruger range() sammen med len(), kombinerer vi to funktioner for at generere en sekvens af tal, der svarer til indeksene for listeelementerne. Denne metode er særligt anvendelig i løkker, hvor du skal tilgå eller ændre elementer baseret på deres position.
For eksempel tilgår denne for-løkke både indekset og værdien af hvert element i 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
Eksempel på anvendelse
For at anvende en rabat på en liste af priser, skal vi ændre elementerne i listen direkte. Hvis vi bruger en simpel løkke som for cost in prices:, får vi kun en kopi af hvert element, ikke en reference til det faktiske element i listen. Ændringer foretaget på denne måde vil ikke påvirke den oprindelige liste.
For at sikre, at vi opdaterer hvert element direkte i prices-listen, bruger vi range(len(prices)) til at iterere over indeksene. Dette gør det muligt at anvende en rabatfaktor på hvert 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)
Bemærk
Formlen
prices[cost] -= prices[cost] * discount_factorsvarer tilprices[cost] = prices[cost] - prices[cost] * discount_factor. Dette trækker en del af den oprindelige pris (bestemt af rabatten) fra sig selv og anvender dermed rabatten;
cost + 1i print-udtrykket justerer indekset, så det ser ud til at starte fra1i stedet for0, hvilket gør det mere brugervenligt.
Denne metode sikrer, at den oprindelige liste prices opdateres direkte med de nye, nedsatte priser, så ændringerne straks afspejles overalt i programmet, hvor prices-listen bruges.
Swipe to start coding
Rabat efter position
Anvend rabatprocenter på produktpriser baseret på deres placering i listen ved hjælp af indeksiteration.
- Brug en for-løkke med
range()oglen()til at iterere gennem indeksene iprices. - Anvend rabatter baseret på indeksposition: 10% for indeks 0, 20% for indeks 1, 15% for indeks 2 og 5% for indeks 3.
- Opdater hver pris i
prices-listen ved at multiplicere med rabatfaktoren (f.eks. 0,9 for 10% rabat). - Udskriv
Updated price for item {index}: ${updated_price:.2f}for hvert element.
Løsning
Tak for dine kommentarer!
single