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
ce194802
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 insert() pode ser usado para adicionar elementos em uma lista em qualquer posição específica, movendo os elementos subsequentes.
  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”.

Python: o método insert() em listas

Gabarito: letra C (CERTO). O método insert() de listas em Python insere um elemento em qualquer posição especificada pelo índice, deslocando os elementos subsequentes para a direita — exatamente o que a afirmação descreve. A assinatura é list.insert(índice, elemento), e o comportamento de deslocamento é uma característica fundamental das listas mutáveis da linguagem.

O código apresentado no enunciado ilustra perfeitamente esse comportamento. Vamos acompanhar a execução passo a passo para visualizar o que acontece:

  1. numeros = [10, 20, 30, 40] — cria uma lista com quatro elementos.

  2. numeros.append(50) — adiciona o valor 50 ao final, resultando em [10, 20, 30, 40, 50].

  3. numeros.insert(2, 25) — aqui está o ponto central da questão. O método insert() recebe dois argumentos: o índice (2) e o valor a ser inserido (25). Ele insere o valor 25 na posição de índice 2, deslocando todos os elementos a partir dessa posição uma casa para a direita. O resultado é [10, 20, 25, 30, 40, 50].

  4. removido = numeros.pop() — remove e retorna o último elemento (50), deixando a lista como [10, 20, 25, 30, 40].

O ponto crucial é o passo 3: quando insert(2, 25) é executado, o valor 25 é colocado no índice 2, e os elementos que estavam nos índices 2, 3 e 4 (30, 40 e 50) são movidos para os índices 3, 4 e 5, respectivamente. Esse deslocamento é exatamente o que a afirmação descreve: "movendo os elementos subsequentes".

É importante distinguir o insert() de outros métodos de inserção em listas. O append() adiciona apenas no final, sem deslocar nada. O extend() adiciona vários elementos no final. Já o insert() é o único que permite especificar uma posição arbitrária, e é justamente essa capacidade de inserção posicional que acarreta o deslocamento dos elementos seguintes.

A pegadinha que a banca poderia explorar aqui seria confundir o insert() com o append() ou com a atribuição direta por índice (como numeros[2] = 25, que substitui o valor existente em vez de inserir um novo). Mas a afirmação está correta e descreve com precisão o funcionamento do método.

Guarde esta distinção: insert() insere e desloca; atribuição por índice substitui; append() adiciona ao final. É nessa fronteira que a questão se resolve.

Alternativa C — ✅ CERTOGABARITO

A afirmação está correta. O método insert() da classe list em Python tem a assinatura list.insert(i, x), onde i é o índice da posição onde o elemento x será inserido. Quando o elemento é inserido, todos os elementos que estavam a partir do índice i são deslocados uma posição para a direita. No código do enunciado, numeros.insert(2, 25) insere o valor 25 no índice 2, e os elementos 30, 40 e 50 (que ocupavam os índices 2, 3 e 4) passam a ocupar os índices 3, 4 e 5. Isso confirma exatamente o que a afirmação diz: o método pode ser usado para adicionar elementos em qualquer posição específica, movendo os elementos subsequentes.

PEGA ESSA DICA!

Para fixar, lembre-se da tríade de inserção em listas Python: append(x) adiciona no final; insert(i, x) insere na posição i e desloca os demais; extend(iterável) adiciona vários elementos no final. Na prova, quando a questão falar em "inserir em posição específica" ou "deslocar elementos", o método é o insert().

Gabarito: letra C (CERTO).

Link permanente: /questoes/ce194802