52 lines
1.3 KiB
Python
52 lines
1.3 KiB
Python
# Sets - Conjuntos em Python (tipo set)
|
|
# Conjuntos são ensinados na matemática
|
|
# https://brasilescola.uol.com.br/matematica/conjunto.htm
|
|
# Representados graficamente pelo diagrama de Venn
|
|
# Sets em Python são mutáveis, porém aceitam apenas
|
|
# tipos imutáveis como valor interno.
|
|
|
|
# Criando um set
|
|
# set(iterável) ou {1, 2, 3}
|
|
# s1 = set('Luiz')
|
|
# s1 = set() # vazio
|
|
# s1 = {'Luiz', 1, 2, 3} # com dados
|
|
|
|
# Sets são eficientes para remover valores duplicados
|
|
# de iteráveis.
|
|
# - Seus valores serão sempre únicos;
|
|
# - Não aceitam valores mutáveis;
|
|
# - não tem índexes;
|
|
# - não garantem ordem;
|
|
# - são iteráveis (for, in, not in)
|
|
# l1 = [1, 2, 3, 3, 3, 3, 3, 1]
|
|
# s1 = set(l1)
|
|
# l2 = list(s1)
|
|
# s1 = {1, 2, 3}
|
|
# print(3 not in s1)
|
|
# for numero in s1:
|
|
# print(numero)
|
|
|
|
# Métodos úteis:
|
|
# add, update, clear, discard
|
|
s1 = set()
|
|
s1.add('Luiz')
|
|
s1.add(1)
|
|
s1.update(('Olá mundo', 1, 2, 3, 4))
|
|
# s1.clear()
|
|
s1.discard('Olá mundo')
|
|
s1.discard('Luiz')
|
|
# print(s1)
|
|
|
|
# Operadores úteis:
|
|
# união | união (union) - Une
|
|
# intersecção & (intersection) - Itens presentes em ambos
|
|
# diferença - Itens presentes apenas no set da esquerda
|
|
# diferença simétrica ^ - Itens que não estão em ambos
|
|
s1 = {1, 2, 3}
|
|
s2 = {2, 3, 4}
|
|
s3 = s1 | s2
|
|
s3 = s1 & s2
|
|
s3 = s2 - s1
|
|
s3 = s1 ^ s2
|
|
print(s3)
|