sets

Tudo sobre Sets em Python

Sets (conjuntos) são uma estrutura de dados fundamental em Python que armazenam coleções não ordenadasmutáveis e de elementos únicos. Eles são especialmente úteis para operações matemáticas como uniões, interseções e diferenças, além de serem altamente eficientes para verificar a existência de elementos. Neste guia completo, vamos explorar tudo o que você precisa saber sobre sets em Python.

1. O que são Sets?

Sets são coleções que:

  • Não permitem elementos duplicados (automaticamente removem duplicatas)

  • Não são ordenados (não possuem índices)

  • São mutáveis (podemos adicionar ou remover elementos)

  • Aceitam apenas tipos imutáveis como elementos (números, strings, tuplas), mas não listas ou outros sets

2. Como Criar um Set

  • Usando chaves {}
				
					frutas = {"maçã", "banana", "laranja"}
print(frutas)  # Saída: {'banana', 'laranja', 'maçã'} (ordem pode variar)
				
			
  • Usando set()
				
					numeros = set([1, 2, 3, 2, 1])  # Remove duplicatas automaticamente
print(numeros)  # Saída: {1, 2, 3}
				
			
  • Set vazio

				
					vazio = set()  # {} cria um dicionário vazio, não um set!
				
			

3. Operações Básicas com Sets

Adicionando Elementos

				
					frutas = {"maçã", "banana"}
frutas.add("laranja")
print(frutas)  # Saída: {'maçã', 'banana', 'laranja'}
				
			

Adicionando Múltiplos Elementos

				
					frutas.update(["uva", "abacaxi"])  # Aceita qualquer iterável
print(frutas)  # Saída: {'uva', 'abacaxi', 'maçã', 'banana', 'laranja'}
				
			

Removendo Elementos

				
					frutas.remove("maçã")  # Levanta KeyError se o elemento não existir
frutas.discard("kiwi")  # Não levanta erro se o elemento não existir
print(frutas)  # Saída: {'uva', 'abacaxi', 'banana', 'laranja'}
				
			

4. Operações Matemáticas com Sets

  • União (| ou union())
				
					a = {1, 2, 3}
b = {3, 4, 5}
print(a | b)  # Saída: {1, 2, 3, 4, 5}
				
			
  • Interseção (& ou intersection())
				
					print(a & b)  # Saída: {3}
				
			
  • Diferença (- ou difference())
				
					print(a - b)  # Saída: {1, 2}
				
			
  • Diferença Simétrica (^ ou symmetric_difference())
				
					print(a ^ b)  # Saída: {1, 2, 4, 5}
				
			

5. Verificação de Existência (Forma Aplicada)

  • Usando if in 
				
					estoque_frutas = {"maçã", "banana", "laranja"}

# Verificação prática em um sistema de estoque
fruta_procurada = "banana"

if fruta_procurada in estoque_frutas:
    print(f"ATENÇÃO: {fruta_procurada} precisa de reposição!")
    # Aqui viria a lógica de reposição no sistema real
else:
    print(f"INFO: {fruta_procurada} não está cadastrada no sistema")
				
			
  • Usando for in + if (Quando precisa de lógica adicional)
				
					pedidos = ["maçã", "uva", "banana"]
estoque = {"maçã", "banana", "laranja"}

# Processamento de pedidos com verificação de estoque
for fruta in pedidos:
    if fruta in estoque:
        # Lógica de processamento do pedido
        print(f"Processando pedido de {fruta}...")
    else:
        print(f"ALERTA: {fruta} fora de estoque!")
				
			

6. Métodos Úteis de Sets

MétodoDescriçãoExemplo
add()Adiciona um elementos.add(4)
clear()Remove todos os elementoss.clear()
copy()Retorna uma cópia do sets2 = s.copy()
difference_update()Remove elementos de outro sets.difference_update({1, 2})
isdisjoint()Verifica se não há elementos em comums.isdisjoint({5, 6})
issubset()Verifica se é subconjuntos.issubset({1, 2, 3, 4})
issuperset()Verifica se é superconjuntos.issuperset({1, 2})
pop()Remove e retorna um elemento aleatórios.pop()
remove()Remove um elemento específicos.remove(2)

7. Frozen Sets (Sets Imutáveis)

São versões imutáveis de sets, úteis para usar como chaves em dicionários.

				
					congelado = frozenset(["a", "b", "c"])
print(congelado)  # Saída: frozenset({'a', 'b', 'c'})
				
			

Acesse a documentação completa de sets do python:

Posts Similares

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *