🎯 Conjuntos em Python

Em poucas palavras

Definição técnica ou simplificada do conceito.


📝 Notas e Desenvolvimento


🔗 Conexões e Contexto


📚 Referências e Fontes

Citações Diretas

📂 Outros Conteúdos Preservados

Conjuntos (Sets) em Python

Um Conjunto (Set) em Python é uma coleção não ordenada de itens únicos. Isso significa que um conjunto não pode conter elementos duplicados e a ordem em que os elementos são armazenados não é garantida.

Definição de Conjuntos

Conjuntos são definidos usando chaves {} ou a função set().

Exemplo de definição:

 
### Definindo um conjunto usando chaves
 
Frutas = {"Maçã", "Banana", "Cereja"}
print(Frutas)
 
### Definindo um conjunto vazio (é importante usar set() para conjuntos vazios, pois {} cria um dicionário vazio)
 
ConjuntoVazio = set()
print(ConjuntoVazio)

Características Principais

  • Não Ordenado: Os elementos em um conjunto não possuem uma ordem específica.
  • Único: Cada elemento em um conjunto deve ser único. Tentativas de adicionar elementos duplicados são ignoradas.
  • Mutável: É possível adicionar ou remover elementos de um conjunto após sua criação.
  • Elementos Imutáveis: Os elementos dentro de um conjunto devem ser de tipos imutáveis (como strings, números, tuplas).

Operações Comuns com Conjuntos

Adicionar Elementos

Você pode adicionar um único elemento a um conjunto usando o método add().

Frutas = {"Maçã", "Banana", "Cereja"}
Frutas.add("Laranja")
print(Frutas)
 
### Saída possível: {'Cereja', 'Laranja', 'Maçã', 'Banana'} (a ordem pode variar)
 

Para adicionar múltiplos elementos de um iterável (como outra lista ou conjunto), use o método update().

Frutas = {"Maçã", "Banana"}
Novas_Frutas = ["Laranja", "Uva"]
Frutas.update(Novas_Frutas)
print(Frutas)
 
### Saída possível: {'Uva', 'Banana', 'Laranja', 'Maçã'}
 

Remover Elementos

Você pode remover um elemento específico usando remove() ou discard(). A diferença é que remove() gera um erro se o elemento não existir, enquanto discard() não faz nada nesse caso.

Frutas = {"Maçã", "Banana", "Cereja"}
 
### Usando remove()
 
Frutas.remove("Banana")
print(Frutas)
 
### Saída possível: {'Cereja', 'Maçã'}
 
 
 
### Usando discard()
 
Frutas.discard("Uva") # Não gera erro, pois "Uva" não está no conjunto
print(Frutas)
 
### Saída possível: {'Cereja', 'Maçã'}
 
 
 
### Tentando remover um elemento inexistente com remove() geraria um KeyError
 
 
 
### Frutas.remove("Pera") # Isso causaria um erro
 

Para remover e retornar um elemento arbitrário do conjunto, use pop().

Frutas = {"Maçã", "Banana", "Cereja"}
elemento_removido = Frutas.pop()
print(f"Elemento removido: {elemento_removido}")
print(f"Conjunto restante: {Frutas}")
 
### Saída possível:
 
 
 
### Elemento removido: Cereja
 
 
 
### Conjunto restante: {'Maçã', 'Banana'}
 

Para remover todos os elementos de um conjunto, use clear().

Frutas = {"Maçã", "Banana", "Cereja"}
Frutas.clear()
print(Frutas)
 
### Saída: set()
 

Operações Matemáticas de Conjuntos

Conjuntos suportam operações matemáticas como união, interseção, diferença e diferença simétrica.

  • União (| ou union()): Retorna um novo conjunto com todos os elementos de ambos os conjuntos.
  • Interseção (& ou intersection()): Retorna um novo conjunto com os elementos comuns a ambos os conjuntos.
  • Diferença (- ou difference()): Retorna um novo conjunto com os elementos do primeiro conjunto que não estão no segundo.
  • Diferença Simétrica (^ ou symmetric_difference()): Retorna um novo conjunto com os elementos que estão em um dos conjuntos, mas não em ambos.
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}
 
### União
 
print(A | B)              # Saída: {1, 2, 3, 4, 5, 6}
print(A.union(B))         # Saída: {1, 2, 3, 4, 5, 6}
 
### Interseção
 
print(A & B)              # Saída: {3, 4}
print(A.intersection(B))  # Saída: {3, 4}
 
### Diferença
 
print(A - B)              # Saída: {1, 2} (Elementos em A que não estão em B)
print(A.difference(B))    # Saída: {1, 2}
 
print(B - A)              # Saída: {5, 6} (Elementos em B que não estão em A)
print(B.difference(A))    # Saída: {5, 6}
 
### Diferença Simétrica
 
print(A ^ B)              # Saída: {1, 2, 5, 6}
print(A.symmetric_difference(B)) # Saída: {1, 2, 5, 6}

Quando Usar Conjuntos?

Conjuntos são ideais quando você precisa:

  • Garantir que uma coleção de itens não tenha duplicatas.
  • Realizar verificações de pertinência (se um item está ou não em uma coleção) de forma muito eficiente.
  • Executar operações matemáticas de conjuntos (união, interseção, etc.).

:: Referência:: Documentação Python sobre tipos nativos