Python – Remoção de duplicatas preservando ordem
Gabarito: letra D. O método listar() percorre cada elemento da lista (herdada da classe list) e o adiciona a uma lista auxiliar res apenas se ele ainda não estiver presente. Esse algoritmo remove duplicatas mantendo a ordem de primeira ocorrência. Ao processar [8, 1, 1, 2, 2, 3, 4, 4, 4, 0], os elementos únicos na ordem em que aparecem são: 8, 1, 2, 3, 4, 0 – exatamente a alternativa D.
Alternativa A — ❌ Incorreta
Apresenta os elementos em outra ordem e com repetições que não correspondem à saída do código. Não é o resultado do método listar().
Alternativa B — ❌ Incorreta
Corresponde a uma única string ou número concatenado, não à lista de elementos únicos. O método retorna uma lista, não um número.
Alternativa C — ❌ Incorreta
Mostra os elementos únicos ordenados numericamente ([0, 1, 2, 3, 4, 8]), mas o método não ordena – mantém a ordem original de primeira aparição.
Alternativa D — ✅ Correta ⟵ GABARITO
Conforme a análise acima, a saída é [8, 1, 2, 3, 4, 0].
Alternativa E — ❌ Incorreta
O código não apresenta erros de sintaxe ou exceções em tempo de execução. A classe List herda de list e o método listar() é definido corretamente.
Gabarito: letra D.