Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2025

ProgramaçãoLinguagens de programação
Código
ce194801
Banca
CESPE / CEBRASPE
Órgão
ANM
Ano
2025
Nível
Superior
Cargo
Especialista em Recursos Minerais - Especialidade: Geologia, Geografia, Geofísica, Engenharia de Minas, Agrônoma, Florestal, Civil, Ambiental, Arquitetura ou Tecnologia da Informação
Imagem da questão
Julgue o item a seguir, relativo ao código Python precedente.O método append() adiciona um novo elemento ao final da lista numeros, alterando essa lista diretamente, sem criar uma nova instância.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Método append() em listas Python

Gabarito: letra C (CERTO). O método append() adiciona um novo elemento ao final da lista, modificando a própria lista (in-place), sem criar uma nova instância. Isso é uma característica fundamental das listas em Python, que são estruturas de dados mutáveis.

O código apresentado na questão demonstra exatamente esse comportamento:

numeros = [10, 20, 30, 40]
numeros.append(50)  # Adiciona 50 ao final da lista

Após a execução, a lista numeros passa a ser [10, 20, 30, 40, 50]. A variável numeros continua apontando para o mesmo objeto na memória — não foi criada uma nova lista. Isso é diferente de operações como numeros = numeros + [50], que criam uma nova lista e reatribuem a variável.

A mutabilidade é uma propriedade central das listas em Python. Diferente de tuplas (imutáveis), as listas podem ser alteradas após sua criação. O método append() é um dos principais exemplos dessa mutabilidade, pois modifica a lista diretamente, sem retornar uma nova lista. O método retorna None, indicando que a operação foi realizada in-place.

Essa distinção é crucial para entender o comportamento de referências em Python. Se você tiver duas variáveis apontando para a mesma lista e usar append() em uma delas, a outra também verá a mudança, pois ambas referenciam o mesmo objeto. Isso é diferente de uma reatribuição, que faria a variável apontar para um novo objeto.

A pegadinha que a banca poderia explorar é a confusão entre métodos que modificam a lista in-place (como append(), insert(), pop()) e operações que criam novas listas (como +, sorted(), list.copy()). Nesta questão, a afirmação está correta, mas é importante estar atento a essa distinção em outras questões.

1Métodos in-place (modificam a própria lista)
append()
insert()
pop()
2Operações que criam nova lista
+ (concatenação)
sorted()
list.copy()
3Consequência prática
Duas variáveis apontam para o mesmo objeto
append() em uma reflete na outra
Mutabilidade de listas em Python
LEVELsoulevel.com.br
Mutabilidade de listas em Python: Métodos in-place (modificam a própria lista) (append(), insert(), pop()); Operações que criam nova lista (+ (concatenação), sorted(), list.copy()); Consequência prática (Duas variáveis apontam para o mesmo objeto, append() em uma reflete na outra)

Alternativa C — ✅ CERTOGABARITO

A afirmação está correta. O método append() adiciona um elemento ao final da lista, modificando-a diretamente. A lista é um objeto mutável, e o método append() opera sobre o próprio objeto, sem criar uma nova instância. Isso é confirmado pelo código do enunciado, onde numeros.append(50) altera a lista original para [10, 20, 30, 40, 50].

Alternativa E — ❌ ERRADO

A afirmação de que o método append() não altera a lista diretamente ou cria uma nova instância está incorreta. O append() modifica a lista in-place, ou seja, a própria lista é alterada, e nenhuma nova lista é criada. O método retorna None, e a lista original é modificada. Portanto, a alternativa E está errada.

Gabarito: letra C

Link permanente: /questoes/ce194801