Carregando...

Copiar

bag.copy() pega os valores que estão em bag nesse instante e os coloca numa lista nova. Agora bag tem tea e depois water, então a lista nova tem tea e depois water. O nome other é essa lista nova. other não é bag.

Antes de qualquer troca, o lugar 0 de other é tea e o lugar 1 é water. O tamanho é 2. A cópia é um retrato desse instante. Depois ela não continua olhando bag.

bag[0] = "soup" põe soup no lugar de tea só dentro de bag. other ainda começa com tea, e water fica no lugar 1 das duas listas. Os dois tamanhos continuam 2. A cópia não recebe essa troca que vem depois.

soup não entra na cópia

python
bag = ["tea", "water"]
other = bag.copy()
bag[0] = "soup"

print(bag)
print(other)

A primeira linha é soup e depois water. A segunda é tea e depois water. soup está só em bag. tea continua na frente de other. print escreve cada lista com os parênteses retos, para as duas listas aparecerem lado a lado.

No sentido contrário é igual. other[1] = "bread" poria bread só em other. O lugar 1 de bag continuaria water. Este programa não dá esse passo. Só muda bag depois da cópia.

bag[:] também monta uma lista nova com os mesmos valores. É o recorte da lista inteira, e o resultado fica separado de bag. other = bag não copia. Os dois nomes são a mesma lista, então uma troca posterior aparece nos dois nomes.

📊 Três jeitos de escrever

Escrita O que você obtém
bag.copy() uma lista nova com os valores de agora
bag[:] uma lista nova com esses mesmos valores
other = bag não é uma lista nova; os dois nomes são a mesma lista

O nome que não guarda tea

Se você escreve other = bag e depois bag[0] = "soup", other também mostra soup. Não havia uma segunda lista para guardar tea. O programa acima usa copy(), então other guarda tea e depois water.

A página seguinte põe valores numa ordem. Esta página não reordena. tea continua na frente de water em other porque essa era a ordem na hora da cópia. soup fica na frente de bag só porque você trocou o lugar 0 depois da cópia.

O que ficou separado

  1. O que o programa escreve, a primeira linha e depois a segunda?
  2. Depois do programa, qual é o primeiro valor de other?
  3. Se você puser bread no lugar 1 de other, o que fica em bag no lugar 1?
  4. O que other = bag faz que copy() não faz?

tea fica na cópia

A tela é soup, depois water, e depois tea, depois water. other ainda começa com tea. Os dois tamanhos são 2. bread em other deixaria water no lugar 1 de bag. other = bag é uma lista só, então soup apareceria nos dois nomes. bag[:] é outra lista nova com os mesmos valores. A página seguinte ordena valores. Ela não faz esta cópia.

🧠 Teste Seu Conhecimento

Pronto para Começar

Teste Seu Conhecimento

Desafie-se com este questionário interativo e veja o quão bem você entende o tópico

❓
6
Perguntas
🎯
70%
Para Passar
♾️
∞
Tempo
🔄
∞
Tentativas

📝 Instruções

  • Leia cada pergunta cuidadosamente
  • Selecione a melhor resposta para cada pergunta
  • Você pode refazer o quiz quantas vezes quiser
  • Seu progresso será mostrado no topo