Python: Alias e cópias de Listas

Alias de Listas

No exemplo abaixo podemos ver que ambos lista e lista1 possuem o mesmo id, ou seja, são o mesmo objeto e não uma cópia.

Todas as alterações realizadas em lista1 se refletiram em lista e vice-versa.

>>> lista = [1, 2, 3]
>>> lista1 = lista
>>> id(lista)
140513748816520
>>> id(lista1)
140513748816520
>>> lista is lista1
True

Cópias de Listas

Neste outro exemplo apresento como copiar a lista de forma a ficarem independentes uma da outra.

>>> lista = [1, 2, 3]
>>> id(lista)
140513748837704
>>> lista1 = lista.copy()
>>> id(lista1)
140513748744456
>>> lista2 = lista[:]
>>> id(lista2)
140513748840136

lista is lista1
False
lista is lista2
False
lista1 is lista2
False

Comentários