Eliminar elemento del conjunto en Python

Muhammad Maisam Abbas 30 enero 2023
  1. Eliminar un solo elemento de un conjunto con la función remove() en Python
  2. Eliminar un solo elemento de un conjunto con la función discard() en Python
  3. Eliminar varios elementos de un conjunto con el operador - en Python
  4. Eliminar varios elementos de un conjunto con la función difference() en Python
  5. Eliminar varios elementos de un conjunto con la función difference_update() en Python
Eliminar elemento del conjunto en Python

Este tutorial discutirá diferentes métodos para eliminar elementos de un conjunto en Python.

Eliminar un solo elemento de un conjunto con la función remove() en Python

La función set.remove() en Python se usa con un conjunto para eliminar un elemento específico del conjunto de llamadas. La función remove() toma el elemento a eliminar como argumento y elimina el elemento especificado del conjunto de llamadas. Si el elemento no se encuentra dentro del conjunto de llamadas, la función remove() genera la excepción KeyError. Vea el siguiente ejemplo de código.

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

Producción :

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

Eliminamos el elemento 5 de set1 con la función remove(5) en el código anterior. El escenario en el que el valor especificado no está presente en el conjunto de llamadas se muestra en el siguiente ejemplo de codificación.

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

Producción :

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

Intentamos eliminar el valor 51 de set1 en el código anterior. Como no hay ningún valor 51 presente en set1, la función remove() genera un KeyError.

Eliminar un solo elemento de un conjunto con la función discard() en Python

La función discard() es muy similar a la función remove(). También se puede usar para eliminar solo un elemento de un conjunto en Python. La función discard() toma el elemento a eliminar como parámetro de entrada y lo elimina del conjunto de llamada si el valor está presente en ese conjunto en particular. La única diferencia es que la función discard() no genera un KeyError si el valor no está presente en el conjunto de llamadas. El siguiente fragmento de código nos muestra cómo eliminar un solo elemento de un conjunto con la función discard().

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

Producción :

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

Eliminamos el valor 5 de set1 con la función discard() en el código anterior. Como se discutió anteriormente, si intentamos pasar un valor a la función discard() que no está presente en el set1, el código se ejecuta con éxito y el intérprete no genera ninguna excepción. Este fenómeno se demuestra en el siguiente ejemplo de codificación.

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

Producción :

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

Intentamos eliminar 51 de set1 con la función discard() en el código anterior. El código se ejecuta correctamente porque el valor especificado no existe en set1 y no se elimina ningún elemento de set1.

Eliminar varios elementos de un conjunto con el operador - en Python

Podemos usar el operador - que se usa para realizar la operación de establecer diferencias en Python. El operador - elimina todos los elementos del conjunto derecho del conjunto izquierdo y devuelve el resultado en forma de otro conjunto. Este método no genera ninguna excepción si los elementos del conjunto izquierdo no están presentes en el conjunto derecho y devuelve el conjunto derecho como resultado. El siguiente fragmento de código nos muestra cómo eliminar varios elementos de un conjunto con el operador -.

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

Producción :

{1, 3, 5, 7, 9}

Eliminamos todos los elementos de set2 de set1 con el operador - y almacenamos el conjunto resultante en set3 en el código anterior. El siguiente ejemplo de código demuestra el escenario en el que tanto set1 como set2 tienen valores únicos.

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

Producción :

{1, 3, 5, 7, 9}

Como se discutió anteriormente, si todos los elementos del conjunto del lado derecho no están presentes en el conjunto del lado izquierdo, el código se ejecuta con éxito y el operador - devuelve el conjunto del lado izquierdo como el conjunto resultante.

Eliminar varios elementos de un conjunto con la función difference() en Python

En la diferencia de conjuntos, eliminamos todos los elementos de un conjunto de otro conjunto. En Python, la función set.difference() se utiliza para realizar la operación de diferencia de conjuntos. El funcionamiento de esta función diferencia() es el mismo que el del operador -. Toma el conjunto que se va a eliminar como parámetro de entrada, elimina todos sus elementos del conjunto de llamada y devuelve los resultados en forma de otro conjunto. Consulte el siguiente fragmento 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)

Producción :

{1, 3, 5, 7, 9}

Eliminamos todos los elementos de set2 de set1 con la función difference() y almacenamos los resultados dentro de set3 en el código anterior. El escenario para la función diferencia() donde todos los valores del conjunto de entrada no están presentes en el conjunto de llamada es el mismo que el operador -.

Eliminar varios elementos de un conjunto con la función difference_update() en Python

En las dos secciones anteriores, hemos discutido cómo eliminar varios elementos de un conjunto, y ambos enfoques implican un tercer conjunto en el que necesitamos almacenar los resultados. Este enfoque no requiere un nuevo conjunto para almacenar los resultados. Actualiza nuestro conjunto de llamadas y almacena los resultados dentro del conjunto de llamadas. La función difference_update() toma el conjunto cuyos elementos deben eliminarse del conjunto de llamada como parámetro de entrada y elimina todos los elementos comunes del conjunto de llamada.

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

Producción :

{1, 3, 5, 7, 9}

Eliminamos todos los elementos de set2 de set1 y actualizamos set1 con el conjunto resultante usando la función difference_update() en el código anterior. A diferencia de los dos métodos anteriores, no era necesario crear un nuevo conjunto solo para almacenar los resultados. En cambio, el resultado se insertó automáticamente en set1.

La función difference_update() es equivalente al operador -= en 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

Artículo relacionado - Python Set