Remover elemento do conjunto em Python

Muhammad Maisam Abbas 8 outubro 2023
  1. Remova um único elemento de um conjunto com a função remove() em Python
  2. Remova um único elemento de um conjunto com a função discard() em Python
  3. Remova vários elementos de um conjunto com o operador - em Python
  4. Remova vários elementos de um conjunto com a função difference() em Python
  5. Remova vários elementos de um conjunto com a função diferença_update() em Python
Remover elemento do conjunto em Python

Este tutorial discutirá diferentes métodos para remover elementos de um conjunto em Python.

Remova um único elemento de um conjunto com a função remove() em Python

A função set.remove () em Python é usada com um conjunto para remover um elemento específico do conjunto de chamada. A função remove() leva o elemento a ser removido como um argumento e remove o elemento especificado do conjunto de chamada. Se o elemento não for encontrado dentro do conjunto de chamada, a função remove() gera a exceção KeyError. Veja o seguinte exemplo de código.

set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
set1.remove(5)
print(set1)

Produção:

{0, 1, 2, 3, 4, 6, 7, 8, 9}

Removemos o elemento 5 de set1 com a função remove(5) no código acima. O cenário em que o valor especificado não está presente no conjunto de chamada é mostrado no exemplo de codificação abaixo.

set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
set1.remove(51)
print(set1)

Produção:

KeyError                                  Traceback (most recent call last)
<ipython-input-1-841e997b50f3> in <module>()
      1 #remove()
      2 set1 = {1,2,3,4,5,6,7,8,9,0}
----> 3 set1.remove(51)
      4 print(set1)

KeyError: 51

Tentamos remover o valor 51 de set1 no código acima. Como não há valor 51 presente em set1, a função remove() gera um KeyError.

Remova um único elemento de um conjunto com a função discard() em Python

A função discard() é muito semelhante à função remove(). Ele também pode ser usado para remover apenas um único elemento de um conjunto em Python. A função discard() pega o elemento a ser removido como um parâmetro de entrada e o remove do conjunto de chamada se o valor estiver presente naquele conjunto específico. A única diferença é que a função discard() não levanta um KeyError se o valor não estiver presente no conjunto de chamada. O trecho de código a seguir nos mostra como remover um único elemento de um conjunto com a função discard().

set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
set1.discard(5)
print(set1)

Produção:

{0, 1, 2, 3, 4, 6, 7, 8, 9}

Removemos o valor 5 de set1 com a função discard() no código acima. Conforme discutido acima, se tentarmos passar um valor para a função discard() que não está presente em set1, o código é executado com sucesso e o interpretador não levanta nenhuma exceção. Este fenômeno é demonstrado no seguinte exemplo de codificação.

set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
set1.discard(51)
print(set1)

Produção:

{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

Tentamos remover 51 de set1 com a função discard() no código acima. O código é executado com sucesso porque o valor especificado não existe em set1 e nenhum elemento é removido de set1.

Remova vários elementos de um conjunto com o operador - em Python

Podemos usar o operador - é usado para realizar a operação de definir diferença em Python. O operador - remove todos os elementos do conjunto direito do conjunto esquerdo e retorna o resultado na forma de outro conjunto. Este método não levanta nenhuma exceção se os elementos do conjunto esquerdo não estiverem presentes no conjunto direito e retorna o conjunto direito como seu resultado. O fragmento de código a seguir nos mostra como remover vários elementos de um conjunto com o operador -.

set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
set2 = {2, 4, 6, 8, 0}
set1 = set1 - set2
print(set1)

Produção:

{1, 3, 5, 7, 9}

Removemos todos os elementos de set2 de set1 com o operador - e armazenamos o conjunto resultante em set3 no código acima. O exemplo de código a seguir demonstra o cenário em que set1 e set2 têm valores exclusivos.

set1 = {1, 3, 5, 7, 9}
set2 = {2, 4, 6, 8, 0}
set1 = set1 - set2
print(set1)

Produção:

{1, 3, 5, 7, 9}

Conforme discutido anteriormente, se todos os elementos do conjunto do lado direito não estiverem presentes no conjunto do lado esquerdo, o código será executado com êxito e o operador - retornará o conjunto do lado esquerdo como o conjunto resultante.

Remova vários elementos de um conjunto com a função difference() em Python

Na diferença de conjunto, removemos todos os elementos de um conjunto de outro conjunto. Em Python, a função set.difference() é usada para realizar a operação de diferença definida. O funcionamento desta função difference() é o mesmo que o operador -. Leva o conjunto a ser removido como um parâmetro de entrada, remove todos os seus elementos do conjunto de chamada e retorna os resultados na forma de outro conjunto. Veja o seguinte trecho de código.

set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
set2 = {2, 4, 6, 8, 0}
set1 = set1.difference(set2)
print(set1)

Produção:

{1, 3, 5, 7, 9}

Removemos todos os elementos de set2 de set1 com a função difference() e armazenamos os resultados dentro de set3 no código acima. O cenário para a função difference() em que todos os valores do conjunto de entrada não estão presentes no conjunto de chamada é o mesmo que o operador -.

Remova vários elementos de um conjunto com a função diferença_update() em Python

Nas duas seções anteriores, discutimos como remover vários elementos de um conjunto, e ambas as abordagens envolvem um terceiro conjunto onde precisamos armazenar os resultados. Essa abordagem não requer um novo conjunto para armazenar os resultados. Ele atualiza nosso conjunto de chamadas e armazena os resultados dentro do conjunto de chamadas. A função difference_update() pega o conjunto cujos elementos precisam ser removidos do conjunto de chamada como parâmetro de entrada e remove todos os elementos comuns do conjunto de chamada.

set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
set2 = {2, 4, 6, 8, 0}
set1.difference_update(set2)
print(set1)

Produção:

{1, 3, 5, 7, 9}

Removemos todos os elementos de set2 de set1 e atualizamos set1 com o conjunto resultante usando a função difference_update() no código acima. Ao contrário dos dois métodos anteriores, não havia necessidade de criar um novo conjunto apenas para armazenar os resultados. Em vez disso, o resultado foi inserido automaticamente em set1.

A função diferença_update() é equivalente ao operador -= em Python.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artigo relacionado - Python Set