Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2025
Programação›Linguagens 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
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.
CCerto
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.
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 — ✅ CERTO ⟵ GABARITO
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.