Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Iterazione Sugli Indici | Cicli
Introduzione a Python

Scorri per mostrare il menu

book
Iterazione Sugli Indici

Nel compito precedente, hai fornito un numero specifico di elementi alla funzione range(). Ma cosa succede se hai bisogno di determinare il numero in modo dinamico? È qui che l'iterazione sugli indici diventa fondamentale.

L'iterazione sugli indici è una tecnica centrale in Python che consente di accedere e modificare gli elementi in base alle loro posizioni all'interno di strutture dati come liste o array. È particolarmente utile per attività che richiedono un controllo preciso su ciascun elemento, come l'aggiornamento dei livelli di inventario o la gestione dei dati di vendita in un negozio di alimentari.

Guarda come Alex dimostra che iterare sugli indici può semplificare le operazioni nel nostro esempio del negozio di alimentari:

Iterare sugli indici è utile quando è necessario accedere sia all'indice che al valore di ciascun elemento in una lista. Quando utilizziamo range() con len(), combiniamo due funzioni per generare una sequenza di numeri corrispondenti agli indici degli elementi della lista. Questo metodo è particolarmente utile nei cicli in cui è necessario accedere o modificare gli elementi in base alla loro posizione.

Ad esempio, questo ciclo for accede all'indice e al valore di ciascun elemento in 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
copy

Applicazione di esempio

Per applicare uno sconto a una lista di prezzi, è necessario modificare direttamente gli elementi della lista. Utilizzando un ciclo semplice come for cost in prices: si otterrebbe solo una copia di ciascun elemento, non un riferimento reale all'elemento nella lista. Le modifiche apportate in questo modo non influirebbero sulla lista originale.

Per garantire di aggiornare direttamente ogni elemento nella lista prices, si utilizza range(len(prices)) per iterare sugli indici. Questo permette di applicare un fattore di sconto a ciascun elemento:

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

Nota

  • La formula prices[cost] -= prices[cost] * discount_factor è equivalente a prices[cost] = prices[cost] - prices[cost] * discount_factor. Questa sottrae una parte del prezzo originale (determinata dallo sconto) da sé stesso, applicando così lo sconto.

  • Il cost + 1 nella dichiarazione di stampa regola l'indice in modo che inizi da 1 invece che da 0, rendendolo più intuitivo per l'utente.

Questo metodo garantisce che la lista originale prices venga aggiornata direttamente con i nuovi prezzi scontati, riflettendo immediatamente le modifiche ovunque venga utilizzata la lista prices nel programma.

Compito

Swipe to start coding

Aggiornare i livelli di inventario combinando i dati di due liste: stock_items e shipment_received. Il risultato aggiornerà quindi la lista stock_items.

  • Sia stock_items che shipment_received sono liste di liste, ciascuna contenente il nome di un prodotto e la sua quantità.
  • Utilizzare un ciclo for con range() e len() per iterare sugli indici di stock_items.
  • Per ogni prodotto, aggiungere la quantità ricevuta alla giacenza esistente e aggiornare il valore in stock_items.

Requisiti di output

  • Per ogni prodotto, stampare:
    Stock aggiornato per <product_name>: <updated_quantity> unità
  • Dopo tutti gli aggiornamenti, stampare:
    Quantità finali in magazzino:
    Stock Items: <stock_items>

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 4
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?

Chieda ad AI

expand
ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

book
Iterazione Sugli Indici

Nel compito precedente, hai fornito un numero specifico di elementi alla funzione range(). Ma cosa succede se hai bisogno di determinare il numero in modo dinamico? È qui che l'iterazione sugli indici diventa fondamentale.

L'iterazione sugli indici è una tecnica centrale in Python che consente di accedere e modificare gli elementi in base alle loro posizioni all'interno di strutture dati come liste o array. È particolarmente utile per attività che richiedono un controllo preciso su ciascun elemento, come l'aggiornamento dei livelli di inventario o la gestione dei dati di vendita in un negozio di alimentari.

Guarda come Alex dimostra che iterare sugli indici può semplificare le operazioni nel nostro esempio del negozio di alimentari:

Iterare sugli indici è utile quando è necessario accedere sia all'indice che al valore di ciascun elemento in una lista. Quando utilizziamo range() con len(), combiniamo due funzioni per generare una sequenza di numeri corrispondenti agli indici degli elementi della lista. Questo metodo è particolarmente utile nei cicli in cui è necessario accedere o modificare gli elementi in base alla loro posizione.

Ad esempio, questo ciclo for accede all'indice e al valore di ciascun elemento in 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
copy

Applicazione di esempio

Per applicare uno sconto a una lista di prezzi, è necessario modificare direttamente gli elementi della lista. Utilizzando un ciclo semplice come for cost in prices: si otterrebbe solo una copia di ciascun elemento, non un riferimento reale all'elemento nella lista. Le modifiche apportate in questo modo non influirebbero sulla lista originale.

Per garantire di aggiornare direttamente ogni elemento nella lista prices, si utilizza range(len(prices)) per iterare sugli indici. Questo permette di applicare un fattore di sconto a ciascun elemento:

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

Nota

  • La formula prices[cost] -= prices[cost] * discount_factor è equivalente a prices[cost] = prices[cost] - prices[cost] * discount_factor. Questa sottrae una parte del prezzo originale (determinata dallo sconto) da sé stesso, applicando così lo sconto.

  • Il cost + 1 nella dichiarazione di stampa regola l'indice in modo che inizi da 1 invece che da 0, rendendolo più intuitivo per l'utente.

Questo metodo garantisce che la lista originale prices venga aggiornata direttamente con i nuovi prezzi scontati, riflettendo immediatamente le modifiche ovunque venga utilizzata la lista prices nel programma.

Compito

Swipe to start coding

Aggiornare i livelli di inventario combinando i dati di due liste: stock_items e shipment_received. Il risultato aggiornerà quindi la lista stock_items.

  • Sia stock_items che shipment_received sono liste di liste, ciascuna contenente il nome di un prodotto e la sua quantità.
  • Utilizzare un ciclo for con range() e len() per iterare sugli indici di stock_items.
  • Per ogni prodotto, aggiungere la quantità ricevuta alla giacenza esistente e aggiornare il valore in stock_items.

Requisiti di output

  • Per ogni prodotto, stampare:
    Stock aggiornato per <product_name>: <updated_quantity> unità
  • Dopo tutti gli aggiornamenti, stampare:
    Quantità finali in magazzino:
    Stock Items: <stock_items>

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 4
Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?
some-alt