você está aqui 73
lista de dados
Para resolver o problema, as listas vêm com um método copy, que faz a coisa
certa. Veja como copy funciona:
>>> third = second.copy()
>>> third
[1, 2, 3, 4, 5, 6]
Não use o
operador de
atribuição
para copiar
uma lista; use o
método “copy”.
Como Copiar uma Estrutura de Dados
Se usar o operador de atribuição não é o modo de copiar uma lista para
outra, qual é? O que está acontecendo é que uma referência para a lista é
compartilhada entre first e second.
first second
2 43
1
5
6
>>> third.append(7)
>>> third
[1, 2, 3, 4, 5, 6, 7]
>>> second
[1, 2, 3, 4, 5, 6]
Muito melhor. A lista
existente não mudou.
A lista “third”
aumentou em
um objeto.
first second
2 43
1
5
6
third
2 43
1
5
6
first second
2 43
1
5
6
third
2 43
1
5
6
7
Com third criada (gras ao método copy), anexaremos um
objeto, e então veremos o que acontece:
Melhorou — o novo
objeto é adicionado
apenas à lista “third”,
não às outras duas listas
(“first” e “second”).
CG_HeadFirst_Python.indb 73 18/07/2018 13:18:14

Get USE A CABEÇA! PYTHON now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.