Ho visto persone che utilizzano [:]
per fare una copia rondine di una lista, come:assegnare il valore di un elenco utilizzando la notazione fetta con cessionario
>>> a = [1,2,3,4]
>>> b = a[:]
>>> a[0] = 5
>>> print a
[5, 2, 3, 4]
>>> print b
[1, 2, 3, 4]
lo capisco. Tuttavia, ho visto pleople usando questa notazione quando si assegnano alle liste pure, come:
>>> a = [1,2,3,4]
>>> b = [4,5,6,7]
>>> a[:] = b
>>> print a
[4, 5, 6, 7]
>>> print b
[4, 5, 6, 7]
Ma io non capisco il motivo per cui usano [:]
qui. C'è una differenza che non conosco?
È una copia poco profonda nel tuo secondo esempio, la prima crea un riferimento –
Risolto, grazie per la correzione – maccartm