Ho un leggero problema a capire il comportamento delle liste.Assegnazione lista ad un valore in quella lista
La mia domanda esercizio è: Disegnare un modello di memoria che mostra l'effetto delle seguenti affermazioni:
values = [0, 1, 2]
values[1] = values
Il mio pensiero è che l'esecuzione di queste dichiarazioni cambierà l'elenco per qualcosa di simile [0, [0, 1, 2], 3]
, in altre parole seconda istruzione aggiungerà il secondo valore nella lista (1) ma quando eseguo queste istruzioni e stampo la lista in Python shell (3.2) ottengo il seguente risultato:
[0, [...], 2]
Qualcosa è successo alla seconda entrata, ma non sono sicuro di cosa, qualcuno può spiegare cosa è successo?
Grazie, Damian
+1 per le tartarughe :) –
@Bryan Oakley, grazie per la tua risposta è un'ottima spiegazione. Tutto si riduce al riferimento/copia di cui ho bisogno per essere più vigile. –