Sets em Python
Sets são coleções não ordenadas e não indexáveis. Nas listas e nas tuplas a ordem em que os elementos são adicionados na coleção é a ordem em que os elementos ficaram indexados. Nos sets isso não acontece. Quando um set é criado todos os valores são embaralhados. Sets são criados com chaves.
Exemplo
Os elementos de set são desordenados, então você não pode saber qual é a ordem em que os elementos apareceram.
sets = {'Abacaxi', 'Banana', 'Melão'}
print(sets)
print(sets)
Acessando elementos de um set
Não é possível acessar um elemento especifico de um set. Isso porque os elementos de set não são indexáveis. Uma forma de checar um elemento é através do operador in.
Exemplo
É possível mostrar os elementos de um set com o loop for.
sets = {'Abacaxi', 'Banana', 'Melão'}
‘Abacaxi’ in sets
‘Abacaxi’ in sets
Exemplo
sets = {'Abacaxi', 'Banana', 'Melão'}
for i in sets:
print(i)
for i in sets:
print(i)
Alterando valores de um set
Não é possível alterar o valor de um elemento especifico em um set, mais é possível adicionar mais elementos.Adicionando elementos a um set
Para adicionar novos elementos a um set são utilizadas os métodos add() e update(). O método add adiciona apenas um elemento por vez, e o método update adiciona vários elementos de uma vez só.
Exemplo
Repare que o método update recebe uma lista como entrada.
sets = {'Abacaxi', 'Banana', 'Melão'}
sets.add('Maçã')
print(sets)
sets.update(['Goiaba','Kiwi','Acerola'])
print(sets)
sets.add('Maçã')
print(sets)
sets.update(['Goiaba','Kiwi','Acerola'])
print(sets)
Qual é o numero de elementos em sets
O tamanho do set pode ser obtido com a função len(), que retorna um numero inteiro, esse numero é o numero de elementos de um set.
Exemplo
sets = {'Abacaxi', 'Banana', 'Melão'}
print(len(sets))
print(len(sets))
Removendo itens de um set
Para remover um item de um set pode ser utilizado o método remove() ou discard(). Os dois métodos recebem o elemento que será removido como entrada. A diferença entre o remove e o discard é que, o método remove vai gerar um erro se o elemento que esta sendo removido não existir no set e o discard não.
Exemplo
Outro método para remover um elemento de um set é com o método pop(). Com o pop sempre o último elemento do set é removido.
sets = {'Abacaxi', 'Banana', 'Melão'}
print(sets)
sets.remove('Banana')
print(sets)
sets.discard('Melão')
print(sets)
print(sets)
sets.remove('Banana')
print(sets)
sets.discard('Melão')
print(sets)
Exemplo
Uma coisa interessante da função pop, é que ela retorna o elemento que foi removido do set.
sets = {'Abacaxi', 'Banana', 'Melão'}
print(sets)
sets.pop()
print(sets)
sets.pop()
print(sets)
print(sets)
sets.pop()
print(sets)
sets.pop()
print(sets)
Exemplo
Também é possível remover elementos de um set com o método clear() e a palavra reservada del. Lembrando que del faz com que a variável deixe de existir e o método clear apenas remove todos os elementos do set.
sets = {'Abacaxi', 'Banana', 'Melão'}
print(sets)
print('O elemento que foi removido do set é: ' + sets.pop())
print(sets)
print(sets)
print('O elemento que foi removido do set é: ' + sets.pop())
print(sets)
Exemplo
sets1 = {'Abacaxi', 'Banana', 'Melão'}
sets2 = {'Abacaxi', 'Banana', 'Melão'}
del sets1 # a variável sets1 não existe mais
sets2.clear()
print(sets2)
sets2 = {'Abacaxi', 'Banana', 'Melão'}
del sets1 # a variável sets1 não existe mais
sets2.clear()
print(sets2)
Juntando dois sets
Para juntar dois sets usaremos o método update() e o método union(). Com os dois métodos os valores duplicados serão excluídos.
Exemplo
sets1 = {'Abacaxi', 'Banana', 'Melão'}
sets2 = {1, 2, 3}
sets3 = sets1.union(sets2)
print(sets3)
sets1.update(sets2)
print(sets1)
sets2 = {1, 2, 3}
sets3 = sets1.union(sets2)
print(sets3)
sets1.update(sets2)
print(sets1)
0 comentários:
Postar um comentário