Cópia da lista Python ()

O método copy () retorna uma cópia superficial da lista.

Uma lista pode ser copiada usando o =operador. Por exemplo,

 old_list = (1, 2, 3) new_list = old_list

O problema de copiar listas desta forma é que se você modificar new_list, old_list também será modificada. É porque a nova lista está referenciando ou apontando para o mesmo objeto old_list.

 old_list = (1, 2, 3) new_list = old_list # add an element to list new_list.append('a') print('New List:', new_list) print('Old List:', old_list)

Resultado

 Lista Antiga: (1, 2, 3, 'a') Nova Lista: (1, 2, 3, 'a')

No entanto, se você precisar que a lista original não seja alterada quando a nova lista for modificada, você pode usar o copy()método.
Tutorial relacionado: Python Shallow Copy vs. Deep Copy

A sintaxe do copy()método é:

 new_list = list.copy ()

parâmetros copy ()

O copy()método não leva nenhum parâmetro.

Valor de retorno da cópia ()

O copy()método retorna uma nova lista. Não modifica a lista original.

Exemplo 1: Copiando uma lista

 # mixed list my_list = ('cat', 0, 6.7) # copying a list new_list = my_list.copy() print('Copied List:', new_list)

Resultado

 Lista copiada: ('cat', 0, 6,7)

Se você modificar a new_list no exemplo acima, my_list não será modificada.

Exemplo 2: Copiar lista usando a sintaxe de fatiamento

 # shallow copy using the slicing syntax # mixed list list = ('cat', 0, 6.7) # copying a list using slicing new_list = list(:) # Adding an element to the new list new_list.append('dog') # Printing new and old list print('Old List:', list) print('New List:', new_list)

Resultado

 Lista antiga: ('gato', 0, 6,7) Nova lista: ('gato', 0, 6,7, 'cachorro')

Artigos interessantes...