São muito similares aos dicionários e listas
<aside> <img src="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/46fd2dab-82df-42d6-a499-74b8cce0d392/IMG_4045.png" alt="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/46fd2dab-82df-42d6-a499-74b8cce0d392/IMG_4045.png" width="40px" /> Diferentemente dos Dicionários e Listas , os conjuntos apenas suportam valores únicos
</aside>
Para criar um conjunto podemos escrever da seguinte forma:
>>>conjunto = {1, 2, 3, 4, 5}
Veja que assim como nos dicionários usamos {}
porém inserimos os valores separados por vírgula, igual nas listas.
Não podemos acessar os valores separados de um conjunto, mas podemos iterar sobre ele. Veja:
>>>conjunto = {1, 2, 3, 4, 5}
>>>for valor in conjunto:
... print(valor)
...
1
2
3
4
5
Podemos adicionar um novo elemento em um set através do método add
>>>conjunto = {1, 2, 3, 4, 5}
>>>conjunto.add(6) #adicionou o 6
Podemos também fazer isso com o método update
porém o mesmo só funciona com iteráveis (listas, dicionários, tuplas e conjuntos). Veja um exemplo onde adicionamos uma lista em um conjunto
>>>conjunto = {1, 2, 3, 4, 5}
>>>lista = [6, 7, 8, 9]
>>>conjunto.update(lista) # adicionou 6,7,8 e 9 no conjunto
O conceito de conjunto nos remete aos *Diagramas de Venn,* tanto que podemos executar operações entre conjuntos.
Para fazer uma união usamos o método union
ou o operador |
>>>conjunto = {1, 2, 3}
>>>outro_conjunto = {4, 5, 6}
>>>conjunto.union(outro_conjunto) # une os dois conjuntos
# ou usando |
>>>conjunto = {1, 2, 3}
>>>outro_conjunto = {4, 5, 6}
>>>conjunto | outro_conjunto # une os dois conjuntos
Para fazermos uma intersecção usamos o método intersection
ou o operador &
>>>conjunto = {1, 2, 3}
>>>outro_conjunto = {1, 2, 4, 5, 6}
>>>conjunto.intersection(outro_conjunto) # intersecção entre os dois conjuntos
# ou usando &
>>>conjunto = {1, 2, 3}
>>>outro_conjunto = {4, 5, 6}
>>>conjunto & outro_conjunto # une os dois conjuntos
Para fazermos uma diferença de conjuntos usamos o método difference
ou o operador -
>>>conjunto = {1, 2, 3}
>>>outro_conjunto = {1, 2, 4, 5, 6}
>>>conjunto.difference(outro_conjunto) # elementos que estão apenas no primeiro set
# ou usando -
>>>conjunto = {1, 2, 3}
>>>outro_conjunto = {1, 2, 4,5,6}
>>>conjunto - outro_conjunto # elementos que estão apenas no primeiro set
Para fazermos uma diferença simétrica de conjuntos usamos o método symetric_diffenrece
ou o operador ^