FC ConcursosFC Concursos

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, é

  1. Pilhas (stack).
  2. Listas (list).
  3. Tuplas (tuple).
  4. Conjuntos (set).
  5. 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

Continue aprendendo