Alias e Cloni¶
Dal momento che le variabili si riferiscono a oggetti, se assegniamo una variabile a un’altra, entrambe le variabili si riferiscono allo stesso oggetto:
(listalias1)
In questo caso, il diagramma dei riferimenti è il seguente:

Dal momento che la stessa lista ha due nomi diversi, a
e b
, diciamo che entrambi sono alias. I cambiamenti fatti con un alias hanno effetto anche sull’altro. Nell’esempio sotto, possiamo vedere che a
e b
si riferiscono alla stessa lista dopo l’esecuzione dell’istruzione di assegnamento b = a
.
(chp09_is3)
Clonare Liste¶
Se vogliamo modificare una lista e mantenere anche una copia dell’originale, dobbiamo fare una copia della lista stessa, non accontentandosi del solo riferimento. Questo processo è chiamato clonazione.
Il modo più semplice per clonare una lista è usare l’operatore di slice.
Facendo uno slice di a
crea una nuova lista.
(chp09_is4)
Adesso siamo liberi di cambiare b
senza preoccuparci di a
. Infatti a
e b
sono oggetti lista completamente diversi.