Com base nas linguagens de programação Python, julgue o pr...

Próximas questões
Com base no mesmo assunto
Q3451595 Programação

Com base nas linguagens de programação Python, julgue o próximo item.


Considere o seguinte código em Python:


lista = [1, 2, 3, 4, 5]

lista1 = lista

lista1[0] = 99


Ao final da execução do código, o conteúdo da variável lista será:

[99, 2, 3, 4, 5]  

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C – certo

Tema central da questão: O foco está no comportamento de listas em Python, especialmente na cópia de listas e manipulação de seus elementos. Saber como as variáveis se relacionam com objetos mutáveis é fundamental para resolver questões dessa natureza em provas.

Resumo teórico: Em Python, listas são objetos mutáveis. Quando você faz lista1 = lista, não está criando uma nova lista, mas sim uma nova referência para o mesmo objeto na memória. Assim, qualquer alteração feita em lista1 afetará também lista, pois ambas apontam para a mesma lista original.
Fonte: Documentação oficial Python – Mais sobre listas

Justificativa da alternativa correta:

O código apresentado faz:

lista = [1, 2, 3, 4, 5]
lista1 = lista
lista1[0] = 99

Como lista1 e lista são, na verdade, o mesmo objeto, modificar lista1[0] também altera lista[0]. Portanto, após a execução, ambas terão o conteúdo [99, 2, 3, 4, 5].

Estratégias de interpretação: Fique atento a pegadinhas que envolvem cópia de listas. Se a intenção fosse criar uma cópia independente, deveria ser usado lista1 = lista.copy() ou lista1 = lista[:]. Do contrário, será sempre uma referência ao mesmo objeto.

Dica para concursos: Sempre que vir manipulação de listas e atribuição direta, lembre-se: atribuição não cria cópia, apenas referência!

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

C

lista = [1, 2, 3, 4, 5]

lista1 = lista

lista1[0] = 99

Ao fazer lista1 = lista, não se cria uma nova lista, mas sim uma referência à mesma estrutura na memória. Isso significa que lista1 e lista apontam para o mesmo objeto.

Em seguida, lista1[0] = 99 altera diretamente o primeiro elemento da lista original — porque ambas variáveis compartilham o mesmo espaço.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo