Considerando o código abaixo, qual deve ser o conteúdo final da lista
após sua execução?
x = ["Engenharia", "da", "Computação"]
x[1] = "eComp"
y = x.pop(2)
x.append("UPE-POLI")
x.remove("Computação")
print (x)
x = ["Engenharia", "da", "Computação"]
x[1] = "eComp"
y = x.pop(2)
x.append("UPE-POLI")
x.remove("Computação")
print (x)
Passo 1
O enunciado trata de operações básicas em listas Python: atribuição por índice, remoção com
pop
, inserção com append
e remoção por valor com remove
. Vamos acompanhar passo a passo o que acontece com a lista x
.Passo 2
Começamos com
x = ["Engenharia", "da", "Computação"]
ou seja,
x = ["Engenharia", "da", "Computação"]
.Passo 3
Fazendo
x[1] = "eComp"
substituímos o elemento de índice 1 (“da”) por “eComp”. Agora
x = ["Engenharia", "eComp", "Computação"]
.Passo 4
Em
y = x.pop(2)
o método
e
pop(2)
retira o elemento no índice 2 (“Computação”) e o retorna em y
. Ficamos comx = ["Engenharia", "eComp"]
e
y = "Computação"
.Passo 5
Com
x.append("UPE-POLI")
acrescentamos “UPE-POLI” ao final de
x
, obtendox = ["Engenharia", "eComp", "UPE-POLI"]
.Passo 6
Quando executamos
x.remove("Computação")
o método
Se ignorarmos esse erro (ou considerarmos o estado imediatamente antes do
remove
busca o valor "Computação"
para removê-lo. Como ele já havia sido retirado no pop
, não há mais esse valor em x
e o Python levanta um ValueError
.Se ignorarmos esse erro (ou considerarmos o estado imediatamente antes do
remove
), a lista permanece["Engenharia", "eComp", "UPE-POLI"]
.Resposta
[‘Engenharia’, ‘eComp’, ‘UPE-POLI’]