Questão FC373121
Um técnico está processando grandes volumes de dados e precisa verificar se há valores duplicados em uma coleção de milhares de elementos. A ordem dos elementos não é importante, m
Linguagens de Programação para Ciência de Dados
FCC · 2024
Um técnico está processando grandes volumes de dados e precisa verificar se há valores duplicados em uma coleção de milhares de elementos. A ordem dos elementos não é importante, mas o processamento precisa ser o mais eficiente possível para identificar e eliminar quaisquer duplicatas. A estrutura de dados que deve ser usada em Python, nesse caso, é
- Pilhas (stack).
- Listas (list).
- Tuplas (tuple).
- Conjuntos (set).
- Dicionários (dict).
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
A melhor escolha é o conjunto (set). Por definição, um set armazena apenas valores únicos, ou seja, elimina duplicatas automaticamente ao inserir elementos.
Internamente é implementado sobre tabelas de dispersão (hash tables), o que garante busca e inserção com tempo médio de \(O(1)\). Construir um conjunto a partir de uma coleção com n elementos tem custo médio de \(O(n)\), muito eficiente para volumes grandes.
Na prática, basta converter: set(minha_colecao) para obter somente os valores distintos. Note que elementos precisam ser hashable (ex.: tuplas e números valem; listas mutáveis não).
Por fim, lembre que um set é não ordenado: a conversão direta não preserva ordem original; se for necessário manter ordem, filtrar com um conjunto auxiliar preserva a primeira ocorrência enquanto elimina duplicatas.
Conteúdo do catálogo FC Concursos · Atualizado em