Conjuntos Python: operações, métodos e teoria dos conjuntos
Conjuntos mestres em Python. Aprenda a armazenar valores exclusivos, executar interseções, uniões, diferenças e compreender os benefícios de desempenho do hash.
Visão geral
Um conjunto é uma coleção não ordenada de elementos únicos em Python. Os conjuntos são construídos em tabelas hash, o que os torna altamente otimizados para testes de associação – determinando se um elemento específico está dentro da coleção. Embora a verificação se um item está em uma lista exija a verificação de cada item (uma operação `O(N)`), a verificação da associação a um conjunto é executada em tempo constante `O(1)`. Isso torna os conjuntos incrivelmente poderosos para eliminação de duplicatas e filtragem de dados em massa.
Os conjuntos são inicializados usando chaves `{}` contendo valores (sem dois pontos) ou usando o construtor `set()` integrado. Observe que, como chaves também são usadas para dicionários, escrever chaves vazias `{}` inicializa um dicionário vazio. Para inicializar um conjunto vazio, você deve usar `set()`. Os elementos dentro de um conjunto devem ser hasháveis e imutáveis, o que significa que você pode armazenar números, strings e tuplas, mas não pode armazenar listas ou dicionários dentro de um conjunto.
Além dos métodos básicos de adição e exclusão, os conjuntos Python suportam nativamente operações da Teoria Matemática dos Conjuntos. Isso inclui União (`|` ou `.union()`) para mesclar coleções, Interseção (`&` ou `.intersection()`) para encontrar elementos comuns, Diferença (`-` ou `.difference()`) para encontrar elementos exclusivos de uma coleção e Diferença Simétrica (`^`) para recuperar itens em qualquer conjunto, mas não em ambos. Dominar conjuntos permite resolver problemas complexos de agrupamento com código limpo, de alto desempenho e legível.
Saída de código e execução
Removendo duplicatas de uma lista e realizando operações matemáticas de conjuntos.
# Removing duplicates
roles_list = ["admin", "user", "editor", "admin", "user"]
# Sort the set to guarantee deterministic printed output
unique_roles = sorted(list(set(roles_list)))
print(f"Unique roles: {unique_roles}")
# Set operations
dev_skills = {"python", "javascript", "sql"}
ops_skills = {"sql", "docker", "kubernetes"}
# Union and Intersection (sorted for deterministic output)
all_skills = sorted(list(dev_skills | ops_skills))
common_skills = sorted(list(dev_skills & ops_skills))
unique_to_dev = sorted(list(dev_skills - ops_skills))
print(f"Union: {all_skills}")
print(f"Intersection: {common_skills}")
print(f"Dev only: {unique_to_dev}")Unique roles: ['admin', 'editor', 'user']
Union: ['docker', 'javascript', 'kubernetes', 'python', 'sql']
Intersection: ['sql']
Dev only: ['javascript', 'python']Implementação passo a passo
- Removendo entradas duplicadas de resultados de API ou arquivos CSV
- Determinando elementos comuns entre dois bancos de dados
- Executando operações de pesquisa rápida em grandes listas de IDs
Perguntas frequentes
Os elementos de um conjunto estão ordenados?
Não, os conjuntos não estão ordenados. Você não pode acessar elementos por um índice (como set[0]) ou dividi-los.
Como adiciono ou removo elementos de um conjunto?
Use o método .add() para inserir um único elemento e .remove() ou .discard() para remover um. .discard() é mais seguro porque não gera um erro se o elemento estiver faltando.
Tópicos Relacionados
Aprenda tudo sobre listas Python. Descubra como criar, fatiar, modificar e iterar nativamente arrays em Python.
Dicionários PythonDicionários Master Python. Aprenda a armazenar, buscar e manipular dados de pares de valores-chave. Entenda o desempenho e as práticas recomendadas para mapeamentos.
Tuplas PythonEntenda as tuplas do Python. Aprenda quando usar tuplas em vez de listas, como funciona a descompactação de tuplas e como a imutabilidade garante a segurança dos dados.
Recursos Python recomendados
Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.
Como classificar uma lista em Python
Aprenda como classificar uma lista em Python usando o método sort() e a função sorted(). Descubra exemplos de classificação de chaves personalizadas e ordem reversa.
Folha de dicas dos métodos de string Python
Um guia de referência completo para manipulação de strings em Python. Domine a formatação, pesquisa, divisão, substituição e verificação de propriedades de string.
Python vs JavaScript: qual linguagem de programação é a melhor?
Uma comparação abrangente entre Python e JavaScript. Explore diferenças de sintaxe, desempenho, casos de uso (backend versus frontend) e exemplos de codificação.