Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Comportamento delle Liste nelle Funzioni | Funzioni
Introduzione a Python

Scorri per mostrare il menu

book
Comportamento delle Liste nelle Funzioni

Esploriamo lavorare con le liste all'interno delle funzioni. Sebbene sia simile a lavorare con i numeri, ci sono alcuni dettagli importanti di cui essere consapevoli.

Le liste sono mutabili, il che significa che qualsiasi modifica apportata a una lista all'interno di una funzione influenzerà anche la lista originale al di fuori della funzione se passata direttamente.

Per evitare ciò, puoi utilizzare il metodo copy() con qualsiasi tipo di dato mutabile. In questo modo, crei una copia superficiale della lista, permettendoti di modificare un duplicato invece dell'originale. Questo assicura che le modifiche apportate all'interno della funzione non influenzino la lista originale.

1234567891011121314
def add_strawberry(original_list): list_copy = original_list.copy() # Create a copy of the original list list_copy.append("Strawberry") # Modify the copied list return list_copy # Original list fruits = ["Apple", "Banana", "Cherry"] # Call the function new_fruits = add_strawberry(fruits) # Check the results print("Original list:", fruits) # ['Apple', 'Banana', 'Cherry'] print("Modified list:", new_fruits) # ['Apple', 'Banana', 'Cherry', 'Strawberry']
copy

In questo esempio, la lista originale fruits rimane invariata perché è stato utilizzato copy(). Senza copy(), modificare la lista all'interno della funzione avrebbe cambiato anche la lista originale fruits.

Compito

Swipe to start coding

Crea una funzione per applicare uno sconto del 10% ai prezzi dei prodotti superiori a $2.00, senza modificare la lista originale.

  • Definisci una funzione apply_discount(prices) che prende una lista di prezzi.
  • All'interno della funzione, fai una copia di prices e assegnala a prices_copy.
  • Usa un ciclo for con iterazione tramite indice (range(len(prices_copy))) per scorrere la lista copiata.
  • Se un prezzo è maggiore di 2.00, applica uno sconto del 10%.
  • Restituisci la lista prices_copy aggiornata.

Requisiti di Output

  • La funzione dovrebbe restituire la nuova lista con i prezzi scontati.
  • Stampa il risultato usando:
    Updated product prices: <$updated_prices>

Nota

Usa l'iterazione basata su indice per assicurarti che la lista venga modificata correttamente: for index in range(len(prices)): modifica gli elementi direttamente, a differenza di for price in prices:.

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 6. 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
Comportamento delle Liste nelle Funzioni

Esploriamo lavorare con le liste all'interno delle funzioni. Sebbene sia simile a lavorare con i numeri, ci sono alcuni dettagli importanti di cui essere consapevoli.

Le liste sono mutabili, il che significa che qualsiasi modifica apportata a una lista all'interno di una funzione influenzerà anche la lista originale al di fuori della funzione se passata direttamente.

Per evitare ciò, puoi utilizzare il metodo copy() con qualsiasi tipo di dato mutabile. In questo modo, crei una copia superficiale della lista, permettendoti di modificare un duplicato invece dell'originale. Questo assicura che le modifiche apportate all'interno della funzione non influenzino la lista originale.

1234567891011121314
def add_strawberry(original_list): list_copy = original_list.copy() # Create a copy of the original list list_copy.append("Strawberry") # Modify the copied list return list_copy # Original list fruits = ["Apple", "Banana", "Cherry"] # Call the function new_fruits = add_strawberry(fruits) # Check the results print("Original list:", fruits) # ['Apple', 'Banana', 'Cherry'] print("Modified list:", new_fruits) # ['Apple', 'Banana', 'Cherry', 'Strawberry']
copy

In questo esempio, la lista originale fruits rimane invariata perché è stato utilizzato copy(). Senza copy(), modificare la lista all'interno della funzione avrebbe cambiato anche la lista originale fruits.

Compito

Swipe to start coding

Crea una funzione per applicare uno sconto del 10% ai prezzi dei prodotti superiori a $2.00, senza modificare la lista originale.

  • Definisci una funzione apply_discount(prices) che prende una lista di prezzi.
  • All'interno della funzione, fai una copia di prices e assegnala a prices_copy.
  • Usa un ciclo for con iterazione tramite indice (range(len(prices_copy))) per scorrere la lista copiata.
  • Se un prezzo è maggiore di 2.00, applica uno sconto del 10%.
  • Restituisci la lista prices_copy aggiornata.

Requisiti di Output

  • La funzione dovrebbe restituire la nuova lista con i prezzi scontati.
  • Stampa il risultato usando:
    Updated product prices: <$updated_prices>

Nota

Usa l'iterazione basata su indice per assicurarti che la lista venga modificata correttamente: for index in range(len(prices)): modifica gli elementi direttamente, a differenza di for price in prices:.

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 6. 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