quinta-feira, 19 de março de 2020

Sets em Python

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
sets = {'Abacaxi', 'Banana', 'Melão'}
print(sets)
Os elementos de set são desordenados, então você não pode saber qual é a ordem em que os elementos apareceram.

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
sets = {'Abacaxi', 'Banana', 'Melão'}
‘Abacaxi’ in sets
É possível mostrar os elementos de um set com o loop for.
Exemplo
sets = {'Abacaxi', 'Banana', 'Melão'}
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
sets = {'Abacaxi', 'Banana', 'Melão'}
sets.add('Maçã')
print(sets)

sets.update(['Goiaba','Kiwi','Acerola'])
print(sets)
Repare que o método update recebe uma lista como entrada.

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))

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
sets = {'Abacaxi', 'Banana', 'Melão'}
print(sets)
sets.remove('Banana')
print(sets)
sets.discard('Melão')
print(sets)
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.
Exemplo
sets = {'Abacaxi', 'Banana', 'Melão'}
print(sets)
sets.pop()
print(sets)
sets.pop()
print(sets)
Uma coisa interessante da função pop, é que ela retorna o elemento que foi removido do set.
Exemplo
sets = {'Abacaxi', 'Banana', 'Melão'}
print(sets)
print('O elemento que foi removido do set é: ' + sets.pop())
print(sets)
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.
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)

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)

0 comentários:

Postar um comentário