Entendendo o Conceito de Set (Conjuntos) em Python

Tempo de leitura: 6 minutos
Ilustração representando conjuntos (sets) em Python

Os conjuntos, ou sets em Python, são uma das estruturas de dados mais úteis da linguagem. Eles permitem armazenar coleções de valores sem repetições, sendo ideais quando precisamos lidar com listas únicas e operações matemáticas como união e interseção.

Neste artigo, você vai aprender o que é um set, como criar, como usar seus métodos e quando ele é mais eficiente do que listas ou tuplas.


O que é um Set em Python

Um set é uma coleção não ordenada e sem elementos duplicados. Isso significa que, ao criar um set, o Python automaticamente remove qualquer valor repetido.

Exemplo básico

Python

numeros = {1, 2, 3, 3, 4}
print(numeros)
Pronto para executar

Saída:

{1, 2, 3, 4}

O número 3 apareceu duas vezes na criação do conjunto, mas o Python o manteve apenas uma vez.

Os sets são úteis quando queremos garantir que não existam valores duplicados em nossos dados, como listas de e-mails, IDs de usuários ou nomes únicos.


Diferença entre Set, Lista e Tupla

TipoPermite duplicadosÉ ordenadoPode ser alterado
listSimSimSim
tupleSimSimNão
setNãoNãoSim

Essa tabela mostra que o set tem um comportamento único. Ele não mantém a ordem dos elementos e não aceita repetições.

Se você precisa apenas garantir unicidade, o set é a melhor escolha.


Como Criar um Set em Python

Existem várias maneiras de criar um set. A forma mais comum é usar chaves {} ou a função set().

Usando chaves

Python
frutas = {"maçã", "banana", "laranja"}

Usando a função set()

Python
nomes = set(["Ana", "Bruno", "Carlos"])

A diferença é que chaves criam diretamente um conjunto, enquanto set() pode converter outros tipos de dados, como listas ou tuplas, em conjuntos.


Adicionando e Removendo Elementos

Os conjuntos são mutáveis, ou seja, podemos adicionar ou remover elementos depois de criados.

Adicionar elementos

Use o método add():

Python

numeros = {1, 2, 3}
numeros.add(4)
print(numeros)
Pronto para executar

Remover elementos

Existem três métodos principais:

  • remove() → Remove o elemento e gera erro se ele não existir.
  • discard() → Remove o elemento, mas não gera erro se ele não existir.
  • pop() → Remove um elemento aleatório.

Exemplo:

Python
numeros.remove(2)
numeros.discard(5)

Operações Matemáticas com Conjuntos

Os conjuntos em Python têm métodos que simulam operações matemáticas tradicionais.

União (union)

Combina elementos de dois conjuntos, sem duplicatas.

Python

a = {1, 2, 3}
b = {3, 4, 5}
print(a.union(b))  # {1, 2, 3, 4, 5}
Pronto para executar

Interseção (intersection)

Retorna apenas os elementos comuns.

Python
print(a.intersection(b))  # {3}

Diferença (difference)

Mostra o que está em a mas não em b.

Python
print(a.difference(b))  # {1, 2}

Diferença simétrica (symmetric_difference)

Mostra o que está em um dos conjuntos, mas não em ambos.

Python
print(a.symmetric_difference(b))  # {1, 2, 4, 5}

Essas operações são muito rápidas, pois o Python usa tabelas de hash para armazenar os valores dos conjuntos.


Verificando se um Elemento Está no Conjunto

Como o set usa uma estrutura eficiente de busca, é muito rápido verificar se um elemento está presente.

Python

frutas = {"maçã", "banana", "uva"}
print("banana" in frutas)  # True
Pronto para executar

Essa operação é muito mais rápida do que procurar em uma lista, especialmente quando há muitos elementos.


Iterando sobre um Set

Mesmo que o set não tenha ordem definida, você pode percorrê-lo com um for:

Python
for fruta in frutas:
    print(fruta)

A ordem dos itens pode mudar a cada execução, pois o Python organiza internamente os elementos de forma otimizada.


Copiando e Limpando Conjuntos

Você pode copiar um conjunto com o método copy() e limpá-lo com clear().

Python

a = {1, 2, 3}
b = a.copy()
a.clear()

print(a)  # set()
print(b)  # {1, 2, 3}
Pronto para executar

Quando Usar Sets no Seu Código

Use conjuntos quando:

  • Você precisa garantir que os dados não tenham duplicados.
  • Precisa fazer comparações rápidas entre grupos de dados.
  • Deseja realizar operações matemáticas como união e interseção.

Por outro lado, evite sets quando:

  • A ordem dos elementos é importante.
  • Você precisa de índices (como lista[0]).

Convertendo Entre Estruturas

Você pode converter facilmente entre listas, tuplas e conjuntos:

Python

lista = [1, 2, 2, 3]
conjunto = set(lista)
print(conjunto)  # {1, 2, 3}

lista_nova = list(conjunto)
print(lista_nova)  # [1, 2, 3]
Pronto para executar

Isso é útil, por exemplo, para remover duplicatas de uma lista:

Python

emails = ["a@gmail.com", "b@gmail.com", "a@gmail.com"]
emails_unicos = list(set(emails))
print(emails_unicos)
Pronto para executar

Métodos Mais Usados em Sets

MétodoDescrição
add()Adiciona um elemento
remove()Remove um elemento existente
discard()Remove sem erro caso não exista
clear()Remove todos os elementos
union()Une dois conjuntos
intersection()Retorna elementos em comum
difference()Mostra elementos únicos de um conjunto
issubset()Verifica se um conjunto é subconjunto de outro
issuperset()Verifica se contém todos os elementos de outro conjunto

Exemplo Prático: Filtrando Dados Repetidos

Imagine que você tenha uma lista de visitantes de um site, com e-mails repetidos.

Python

visitantes = [
    "joao@gmail.com", "ana@gmail.com", "joao@gmail.com", "maria@gmail.com"
]

unicos = set(visitantes)
print(unicos)
Pronto para executar

Saída:

{'joao@gmail.com', 'ana@gmail.com', 'maria@gmail.com'}

Com uma única linha, você elimina repetições e mantém apenas os dados únicos.


Conclusão

Os sets em Python são ferramentas poderosas e simples de usar.
Eles ajudam a manter seus dados organizados, sem duplicações, e facilitam operações de comparação e filtragem.

Saber quando e como utilizá-los pode tornar seu código mais rápido e limpo, especialmente quando trabalhamos com grandes quantidades de informações.


Perguntas Frequentes (FAQ)

1. O que é um set em Python?
É uma coleção que não permite elementos repetidos e não mantém ordem.

2. Como criar um set?
Use {} ou a função set(), como set([1, 2, 3]).

3. Sets aceitam valores duplicados?
Não, qualquer valor repetido é automaticamente removido.

4. Posso acessar elementos por índice?
Não, conjuntos não possuem índice nem ordem fixa.

5. Como remover um item de um set?
Use remove() ou discard().

6. Como saber se algo está no set?
Use o operador in, por exemplo: "banana" in frutas.

7. Posso juntar dois sets?
Sim, com o método union() ou o operador |.

8. Qual a diferença entre union e intersection?
union combina todos os elementos, intersection pega apenas os comuns.

9. Como limpar um set?
Use clear() para remover todos os elementos.

10. Sets são rápidos?
Sim, pois usam uma estrutura chamada tabela de hash.

11. Quando evitar o uso de sets?
Quando você precisa de ordem ou acessar itens por posição.

12. Como remover duplicados de uma lista?
Converta para set: list(set(lista)).

Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Conteúdo do artigo

    Artigos relacionados

    Fundamentos
    Foto do Leandro Hirt

    Jogo da Forca em Python para iniciantes

    O Jogo da Forca em Python é uma ótima maneira de praticar lógica de programação, manipulação de strings e controle

    Ler mais

    Tempo de leitura: 6 minutos
    07/02/2026
    Fundamentos
    Foto do Leandro Hirt

    Introdução a Type Hints no Python

    A linguagem de programação Python é famosa por ser fácil de ler e simples de aprender. Muitas pessoas escolhem o

    Ler mais

    Tempo de leitura: 11 minutos
    07/02/2026
    Logo do Python com o texto 'Python argparse CLI' abaixo
    Fundamentos
    Foto do Leandro Hirt

    Criando CLI em Python com argparse

    Uma interface de linha de comando (CLI) permite que usuários executem tarefas digitando comandos em um terminal. Em Python, a

    Ler mais

    Tempo de leitura: 5 minutos
    06/02/2026
    Fundamentos
    Foto do Leandro Hirt

    Como Usar f-strings para Debugar no Python

    Debugar um código é uma das tarefas mais importantes na vida de quem programa. Muitas vezes, o programa não funciona

    Ler mais

    Tempo de leitura: 11 minutos
    06/02/2026
    Fundamentos
    Foto do Leandro Hirt

    Como Usar PyScript: Execute Python no Seu Navegador

    Você já imaginou poder criar sites incríveis usando apenas a linguagem Python? Durante muito tempo, quem queria construir a parte

    Ler mais

    Tempo de leitura: 14 minutos
    05/02/2026
    Fundamentos
    Foto do Leandro Hirt

    Como criar arquivos PDF com Python via FPDF

    Gerar documentos de forma automática é uma habilidade valiosa para qualquer pessoa que trabalha com tecnologia. Criar arquivos PDF com

    Ler mais

    Tempo de leitura: 13 minutos
    04/02/2026