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')