Search
Close this search box.
O que são sets em Python?
sets em Python

Posts Relacionados:

Sets em Python são coleções não ordenadas de elementos únicos muito úteis para remover duplicatas e verificar a presença de itens eficientemente.

Receba nossa newsletter

Sets em Python

Sets em Python são coleções não ordenadas de elementos únicos. Ou seja, ao contrário de listas ou tuplas, os sets não permitem valores duplicados e não mantêm uma ordem específica para os elementos.

Os sets são semelhantes ao conceito matemático de conjuntos, os quais são coleções de objetos distintos.

Em Python, sets são caracterizados por chaves delimitadoras:

				
					
# exemplo de set

meu_set = {'oi', 'ana', 'abacaxi'}
				
			

Eles podem ser criados de mais de uma forma. Uma maneira é com a função set(). Esta função recebe um iterável (como uma lista, tupla ou string) como entrada e o converte em um set, removendo duplicatas.

				
					minha_lista = [1, 2, 3, 4, 5]
meu_set = set(minha_lista)
print(meu_set)
# resultado: {1, 2, 3, 4, 5}
				
			

Sets também podem ser criados diretamente com o uso de chaves {}.

				
					meu_set = {1, 2, 3, 4, 5}
print(meu_set)
# resultado: {1, 2, 3, 4, 5}
				
			

As principais características dos sets em Python

Sets são não ordenados

Os elementos em um set não têm uma ordem específica. Se você iterar sobre um conjunto, os elementos podem aparecer em uma ordem diferente a cada vez. Veja no exemplo abaixo:

				
					# sets são não ordenados: cada vez que um loop é executado, a ordem dos elementos pode mudar
meu_set = {'gato', 1, 'cachorro', 3}
for item in meu_set:
    print(item)
# executa 1 vez
# 1
# gato
# 3
# cachorro

# executa de novo:
# 1
# 3
# gato
# cachorro
				
			

Sets possuem apenas elementos únicos

Os sets não aceitam elementos duplicados. Se você tentar adicionar duplicatas, o Python descartará os extras, mantendo apenas uma instância de cada item, como no exemplo:

				
					meu_set = {'gato', 'gato', 'gato', 'cachorro'}
print(meu_set)
# resultado: {'gato', 'cachorro'}
				
			

Sets são mutáveis

Você pode adicionar ou remover elementos após criar um set. Elementos podem ser adicionados a um set com a função add() para adicionar um item apenas ou update() para adicionar vários.

				
					# exemplo com add()
meu_set = {1, 2, 3, 4}
meu_set.add(5)
print(meu_set)
# resultado: {1, 2, 3, 4, 5}

# exemplo com update()
meu_set.update([6, 7, 8])
print(meu_set)
# resultado: {1, 2, 3, 4, 5, 6, 7, 8}
				
			

Use os métodos remove(), discard() ou pop() para remover elementos de um set.

				
					meu_set = {1, 2, 3, 4, 5, 6, 7}
meu_set.remove(1)
print(meu_set)
# resultado: {2, 3, 4, 5, 6, 7}
				
			

Embora os sets sejam mutáveis, os elementos num set são imutáveis. Isso significa que você não pode alterar um elemento que já está no conjunto. Por exemplo, você não pode adicionar uma lista a um set e, em seguida, modificar o conteúdo dessa lista no conjunto. Veja um exemplo ilustrativo disso abaixo:

				
					meu_set = {1, 2, 3, 5, 6}
print(meu_set)
# resultado: {1, 2, 3, 5, 6}

# tenta mudar item 
meu_set[1] = 10
# resultado: TypeError: 'set' object does not support item assignment
				
			

Alguns métodos do Python para sets

len()

Verifica o tamanho de um set:

				
					meu_set = {'a', 'b', 'c'}
print(len(meu_set))
# resultado: 3
				
			

max()

Retorna o valor máximo em um set:

				
					meu_set = {100, 1000, 1, 2}
print(max(meu_set))
# resultado: 1000
				
			

min()

Retorna o valor mínimo em um set:

				
					meu_set = {-1, 10, 1, 2}
print(min(meu_set))
# resultado: -1
				
			

sum()

Calcula a soma de um set:

				
					
meu_set = {-10, 100, 33, 17}
print(sum(meu_set))
# resultado: 140
				
			

sorted()

Retorna uma nova lista ordenada de elementos no conjunto (não altera o set em si).
				
					
meu_set = {-10, 100, 33, 17}
print(sorted(meu_set))
# resultado: [-10, 17, 33, 100]
				
			

Crie sets imutáveis com frozenset

Embora os sets em Python sejam mutáveis, nossa linguagem preferida também fornece sets imutáveis chamados frozensets (conjuntos congelados). Eles são criados usando a função frozenset(), como ilustrado abaixo:

				
					
vogais = ('a', 'e', 'i', 'o', 'u')
meu_frozenset = frozenset(vogais)
				
			

Como são imutáveis, frozensets não permitem o uso de métodos como add() e remove().

Operações de conjuntos

Python fornece operações internas para trabalhar com conjuntos equivalentes às operações matemáticas tradicionais. Elas incluem operações como união (combinação de elementos) e interseção (encontrar elementos comuns).

Python sets

União e interseção de sets

Veja um exemplo de união e interseção de sets em Python:

				
					
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1 | set2  # união
print(union_set) 
# resultado: {1, 2, 3, 4, 5}

intersection_set = set1 & set2  # interseção
print(intersection_set)
# resultado: {3}
				
			

As operações de conjuntos também incluem diferença (diferença entre dois conjuntos A e B inclui elementos do conjunto A que não estão presentes no conjunto B) e diferença simétrica (a diferença simétrica entre dois conjuntos A e B inclui todos os elementos de A e B sem os elementos comuns).

				
					set1 = {2, 3, 5}
set2 = {1, 2, 6}
difference_set = set1 - set2  # diferença
print(difference_set)
# resultado: {3, 5}

symmetric_difference_set = set1 ^ set2 # diferença simétrica
print(symmetric_difference_set)
# resultado: {1, 3, 5, 6}
				
			

Além dessas operações, o Python conta com vários outros métodos para sets. Eles podem ser verificados na documentação oficial.

Usos comuns de sets

Os sets são muito utilizados para remoção de duplicatas. Uma das principais vantagens dos sets é eliminar eficientemente as duplicatas de uma lista ou sequência sem precisar do uso de loops. Em IA, essa utilidade é frequentemente usada para a criação de vocabulários para o treinamento de chatbots e outras tarefas de processamento de linguagem natural. Portanto, quando você precisa de uma coleção para armazenar apenas valores distintos, os sets são a estrutura de dados ideal.

Sets também são usados para determinar rapidamente se um elemento existe em um conjunto usando o operador in eficientemente.

Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.

Imagem com IA Generativa – Dia 274

IA generativa img 274

Arte com IA generativa: imagem do dia

Todos os dias, postamos um exemplo de imagem artística gerada com inteligência artificial.

Tutoriais

Postagens Mais Recentes

Outras Postagens Que Podem Interessar

Veja
Mais

Fique em contato

Se inscreva para receber nossa newsletter com novidades.

aprendiz artificial