Pesquise as funções “list.append()”, “list.remove()” e “list.pop()”. Implemente uma função que receba uma lista contendo 10 valores. Faça as seguintes alterações na lista (em ordem):
  • Alterar Elemento: Substitua o segundo elemento (índice 1) da lista pelo valor 200.
  • Adicionar Elemento (Final): Adicione o valor 600 ao final da lista (utilize o método append()).
  • Inserir Elemento: Insira o valor 300 na terceira posição (índice 2) da lista (utilize o método insert()).
  • Remover por Valor: Remova a primeira ocorrência do valor 600 da lista (utilize o método remove()).
  • Remover por Índice: Remova o elemento que está no índice 0 da lista (utilize o método pop()).
Qual é a lista final após a execução de todas as operações?

Passo 1

O enunciado pede para implementar uma função que recebe uma lista contendo 10 valores e executar, em ordem, as seguintes alterações na lista:
  • Alterar Elemento: substituir o segundo elemento (índice 1) pelo valor \,200.
  • Adicionar Elemento (final): adicionar o valor \,600 ao final da lista (usar o método \texttt{append()}).
  • Inserir Elemento: inserir o valor \,300 na terceira posição (índice 2) (usar o método \texttt{insert()}).
  • Remover por Valor: remover a primeira ocorrência do valor \,600 (usar o método \texttt{remove()}).
  • Remover por Índice: remover o elemento que está no índice 0 (usar o método \texttt{pop()}).
Informação dada: a lista inicial tem exatamente 10 elementos. Para trabalhar de forma geral, vou denotar a lista inicial por
L_0 = [a_0,\, a_1,\, a_2,\, a_3,\, a_4,\, a_5,\, a_6,\, a_7,\, a_8,\, a_9]
onde cada a_i é o valor do elemento na posição i antes das operações.

Passo 2

Explicação dos métodos que vamos usar (ideia intuitiva e rápida):
  • \texttt{append(x)}: adiciona o elemento x ao final da lista. Se a lista tem comprimento n, após \texttt{append(x)} ela terá comprimento n+1 e x ficará na posição de índice n.
  • \texttt{insert(i, x)}: insere x na posição de índice i. Os elementos que estavam em índices \ge i deslocam-se uma posição para a direita.
  • \texttt{remove(x)}: procura a primeira ocorrência do valor x e a remove. Se não existir x, em Python isso gera um erro; aqui assumimos que a operação tem sucesso porque seguimos a ordem pedida.
  • \texttt{pop(i)}: remove e retorna o elemento no índice i. Se \,i não for fornecido, remove o último; aqui usaremos \texttt{pop(0)} para remover o primeiro elemento.
Essas definições servem para você lembrar o efeito de cada operação quando estiver na prova.

Passo 3

Primeira operação: substituir o segundo elemento (índice 1) por \,200.
Aplicando em L_0:
L_1 = [a_0,\, 200,\, a_2,\, a_3,\, a_4,\, a_5,\, a_6,\, a_7,\, a_8,\, a_9]
Comentário didático: em Python isso seria feito com a atribuição L[1] = 200. Isto não muda o comprimento da lista — apenas troca o valor que estava em a_1.

Passo 4

Segunda operação: adicionar \,600 ao final usando \texttt{append()}.
Aplicando \texttt{append(600)} em L_1:
L_2 = [a_0,\, 200,\, a_2,\, a_3,\, a_4,\, a_5,\, a_6,\, a_7,\, a_8,\, a_9,\, 600]
Comentário didático: agora a lista tem comprimento 11. O \,600 ficou na última posição (índice 10).

Passo 5

Terceira operação: inserir \,300 na terceira posição (índice 2) usando \texttt{insert(2, 300)}.
Ao inserir em índice 2, todos os elementos que antes estavam em índices \ge 2 deslocam-se uma posição para a direita. Aplicando em L_2:
L_3 = [a_0,\, 200,\, 300,\, a_2,\, a_3,\, a_4,\, a_5,\, a_6,\, a_7,\, a_8,\, a_9,\, 600]
Comentário didático: observe que a_2 passou de índice 2 para índice 3, a_3 para índice 4, e assim por diante; o \,600 que estava no final passou de índice 10 para índice 11.

Passo 6

Quarta operação: remover a primeira ocorrência do valor \,600 usando \texttt{remove(600)}.
Na nossa lista L_3 existe exatamente uma ocorrência de \,600, que está na última posição (índice 11). Ao remover essa ocorrência obtemos:
L_4 = [a_0,\, 200,\, 300,\, a_2,\, a_3,\, a_4,\, a_5,\, a_6,\, a_7,\, a_8,\, a_9]
Comentário didático: o comprimento volta a ser 11\!-\!1 = 11 antes era 12, agora 11; os elementos após a posição removida (não havia nenhum depois) seriam deslocados para a esquerda, mas aqui apenas retiramos o último elemento.

Passo 7

Quinta operação: remover o elemento no índice 0 usando \texttt{pop(0)}.
A operação \texttt{pop(0)} remove e retorna o primeiro elemento da lista, que atualmente é a_0. Após remover:
L_5 = [200,\, 300,\, a_2,\, a_3,\, a_4,\, a_5,\, a_6,\, a_7,\, a_8,\, a_9]
Comentário didático: note que todos os elementos deslocaram-se uma posição para a esquerda: o que estava em índice 1 passou a índice 0, o que estava em índice 2 passou a índice 1, etc. O comprimento final é 10, como na lista original.

Passo 8

Implementação (curta) em Python — só para fixar a ideia prática. A função recebe uma lista L (com 10 elementos) e aplica as operações na ordem pedida:
def modify_list(L):
L[1] = 200
L.append(600)
L.insert(2, 300)
L.remove(600)
L.pop(0)
return L
Comentário: essa função altera a lista passada por referência (como é o comportamento padrão em Python) e retorna a lista modificada.

Resposta

[200,\, 300,\, a_2,\, a_3,\, a_4,\, a_5,\, a_6,\, a_7,\, a_8,\, a_9]

Exercícios relacionados