Fácil Python
Removendo duplicatas
Enunciado
Dada a lista numeros = [1, 2, 2, 3, 4, 4, 5], crie um conjunto com os valores únicos e imprima-o ordenado.
Requisitos
- Use
set()para remover duplicatas. - Imprima os elementos em ordem crescente usando
sorted(). - A saída deve ser uma lista ordenada dos números únicos.
Código inicial
numeros = [1, 2, 2, 3, 4, 4, 5]
# Seu código aqui
Saída esperada
[1, 2, 3, 4, 5]
Ver dica
Converta a lista para set, depois use sorted() para obter uma lista ordenada.
Mostrar solução
numeros = [1, 2, 2, 3, 4, 4, 5]
unicos = set(numeros) # remove duplicatas
ordenados = sorted(unicos) # converte para lista ordenada
print(ordenados)
Passo a passo
- Criamos a lista
numeroscom valores repetidos. set(numeros)cria um conjunto, eliminando automaticamente os duplicatas.sorted(unicos)retorna uma nova lista com os elementos do conjunto em ordem crescente.print(ordenados)exibe[1, 2, 3, 4, 5].
Por que funciona
Conjuntos armazenam apenas elementos únicos. Ao converter a lista para set, as repetições são descartadas. Como conjuntos não mantêm ordem, usamos sorted() para obter uma sequência ordenada.
Erros comuns
- Esquecer de converter para lista ordenada:
print(set(numeros))imprime{1, 2, 3, 4, 5}(com chaves) e a ordem pode variar. - Tentar indexar o conjunto:
unicos[0]geraTypeError: 'set' object is not subscriptable. - Usar
sorteddiretamente no set sem atribuir:sorted(unicos)não altera o conjunto; é preciso usar o retorno.
Outra forma de resolver
Usar compreensão de conjunto e depois ordenar:
unicos = {n for n in numeros}
print(sorted(unicos))
É preferível quando já se quer filtrar durante a criação.
Saída esperada
[1, 2, 3, 4, 5]