Módulo 7 - Conjuntos: tem ou não tem, sem repetir

O conjunto: só importa se tem, e sem repetir

8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 08/07/2026

O que você vai aprender

  • Entender o conjunto como coleção de itens únicos e sem ordem.
  • Perceber que adicionar um item repetido não muda o conjunto.
  • Diferenciar conjunto de lista pela repetição e pela ordem.
  • Reconhecer dados que pedem naturalmente um conjunto.

A lista de convidados

A lista, o dicionário e agora o conjunto formam o trio de estruturas do intermediário, e cada uma responde a uma pergunta diferente. A lista responde qual é a ordem e o que está na posição tal. O dicionário responde qual o valor da etiqueta tal. O conjunto responde a mais simples de todas: este item está no grupo? Pense numa lista de convidados de uma festa. Não importa a ordem em que os nomes foram anotados, e não faz sentido a mesma pessoa aparecer duas vezes: ou ela está convidada, ou não está. Esse é o espírito do conjunto. Ele ignora ordem e ignora repetição, porque para o problema que ele resolve nenhuma das duas coisas importa.

A unicidade é a marca registrada do conjunto, e ela é automática. Se você tenta adicionar um nome que já está na lista de convidados, nada acontece: a pessoa continua convidada uma vez só. Essa propriedade, que numa lista você teria que garantir na mão (checando se o item já existe antes de adicionar), o conjunto entrega de graça. Por isso, sempre que você tem uma coleção em que duplicados não fazem sentido, os alunos que entregaram a tarefa, os e-mails únicos de uma campanha, as tags de um artigo, o conjunto costuma ser a estrutura mais limpa e menos sujeita a erro.

Um círculo grande rotulado conjunto contendo os itens azul, verde e vermelho, cada um uma vez. Do lado de fora, uma seta tenta adicionar um segundo azul, mas ele bate numa barreira e não entra, com uma etiqueta já existe, ignorado. O círculo continua com três itens.
O conjunto guarda cada item uma vez só. Tentar adicionar um repetido é ignorado: a unicidade é automática.

Sem ordem e sem posição

A segunda diferença do conjunto para a lista é a ausência de ordem. Numa lista, o primeiro item é o primeiro, e você pode pedir a posição 0. Num conjunto, não existe primeiro nem último: os itens estão dentro do grupo, e ponto. Por isso você não acessa um elemento do conjunto por posição, como faria numa lista; não faz sentido perguntar qual é o terceiro item de um conjunto. O que você pergunta é se um item específico pertence. Essa é uma mudança de mentalidade: a lista é uma fila organizada, o conjunto é um saco de itens únicos. Se o seu problema depende de ordem (um ranking, um histórico), o conjunto é a estrutura errada; se depende só de pertencimento e unicidade, ele é perfeito.

convidados <- conjunto vazio
adicione("Ana", convidados)
adicione("Beto", convidados)
adicione("Ana", convidados)   // Ana já está: ignorado
escreva(tamanho(convidados))   // 2, não 3
// o conjunto tem { "Ana", "Beto" }, sem ordem garantida

Adicionar Ana duas vezes não cria duplicado. O tamanho é 2 porque o conjunto só guarda itens únicos.

🎮 Jogo da aula

Qual o tamanho final?

Some ao conjunto os itens na ordem dada, lembrando que repetidos não entram, e escolha o tamanho final.

tags <- conjunto vazio
adicione("promo", tags)
adicione("novo", tags)
adicione("promo", tags)
adicione("oferta", tags)
adicione("novo", tags)
escreva(tamanho(tags))

Quando o conjunto vence

O conjunto brilha em duas situações. A primeira é quando você quer garantir que não há repetidos sem trabalho extra: em vez de checar antes de cada inserção, você joga tudo num conjunto e a unicidade acontece sozinha. A segunda é quando a operação principal é perguntar pertence?, e você quer essa resposta rápida. Assim como o dicionário busca pela chave quase instantaneamente, o conjunto responde ao pertence sem varrer os itens, o que faz muita diferença em grupos grandes. Um sistema que precisa checar milhares de vezes se um usuário já votou, se um e-mail já está cadastrado, se uma palavra está na lista de proibidas, usa conjunto justamente por essa resposta veloz, tema da próxima aula.

Teste rápido

Qual afirmação descreve corretamente um conjunto?

Perguntas frequentes

Qual a diferença entre conjunto e lista?
A lista guarda itens em ordem e aceita repetição; você acessa por posição. O conjunto guarda itens únicos, sem ordem; você não acessa por posição, pergunta se algo pertence. Use lista quando a ordem ou a repetição importam, e conjunto quando só importam presença e unicidade.
O que acontece se eu adicionar um item repetido a um conjunto?
Nada muda: o conjunto ignora, porque o item já pertence. Essa unicidade automática é justamente uma das vantagens. Numa lista, você teria que checar antes de adicionar para evitar duplicados; no conjunto, isso é garantido de graça.
Posso pegar o terceiro elemento de um conjunto?
Não faz sentido: o conjunto não tem ordem, então não existe primeiro nem terceiro. Se você precisa de posição, use uma lista. O conjunto responde apenas se um item pertence e permite operações de grupo (união, interseção), mas não acesso por índice.
Conjunto tem a ver com os conjuntos da matemática?
Tem tudo a ver: a estrutura é inspirada neles. Os conceitos de pertencer, união, interseção e diferença vêm direto da teoria de conjuntos da matemática. Se você lembra dos diagramas com círculos que se sobrepõem, vai reconhecer as operações que aparecem mais adiante neste módulo.
Conjunto existe nas linguagens de verdade?
Existe. Em Python é o set; em JavaScript é o Set; muitas outras linguagens têm sua versão. As operações e o comportamento (unicidade, sem ordem, teste de pertencimento) são os mesmos que você aprende aqui em pseudocódigo, então o conhecimento se transfere direto.
Dá para transformar uma lista num conjunto?
Dá, e é uma técnica muito útil: jogar os itens de uma lista num conjunto elimina os duplicados de uma vez, porque a unicidade descarta as repetições. É o truque de deduplicar, que você aprende na última aula deste módulo. O conjunto também pode virar lista de volta quando você precisa de ordem.

Fontes

Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.