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.