Supprimer l'élément de l'ensemble en Python

Muhammad Maisam Abbas 30 janvier 2023
  1. Supprimer un élément unique d’un ensemble avec la fonction remove() en Python
  2. Supprimer un seul élément d’un ensemble avec la fonction discard() en Python
  3. Supprimer plusieurs éléments d’un ensemble avec l’opérateur - en Python
  4. Supprimer plusieurs éléments d’un ensemble avec la fonction difference() en Python
  5. Supprimer plusieurs éléments d’un ensemble avec la fonction difference_update() en Python
Supprimer l'élément de l'ensemble en Python

Ce didacticiel abordera différentes méthodes pour supprimer des éléments d’un ensemble en Python.

Supprimer un élément unique d’un ensemble avec la fonction remove() en Python

La fonction set.remove() en Python est utilisée avec un ensemble pour supprimer un élément spécifique de l’ensemble appelant. La fonction remove() prend l’élément à supprimer comme argument et supprime l’élément spécifié de l’ensemble appelant. Si l’élément n’est pas trouvé dans l’ensemble appelant, la fonction remove() lève l’exception KeyError. Voir l’exemple de code suivant.

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

Production:

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

Nous avons supprimé l’élément 5 de set1 avec la fonction remove(5) dans le code ci-dessus. Le scénario où la valeur spécifiée n’est pas présente dans l’ensemble appelant est illustré dans l’exemple de codage ci-dessous.

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

Production:

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

Nous avons essayé de supprimer la valeur 51 de set1 dans le code ci-dessus. Comme il n’y a pas de valeur 51 présente dans set1, la fonction remove() lève une KeyError.

Supprimer un seul élément d’un ensemble avec la fonction discard() en Python

La fonction discard() est très similaire à la fonction remove(). Il peut également être utilisé pour supprimer un seul élément d’un ensemble en Python. La fonction discard() prend l’élément à supprimer comme paramètre d’entrée et le supprime de l’ensemble appelant si la valeur est présente dans cet ensemble particulier. La seule différence est que la fonction discard() ne lève pas de KeyError si la valeur n’est pas présente dans l’ensemble appelant. L’extrait de code suivant nous montre comment supprimer un seul élément d’un ensemble avec la fonction discard().

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

Production:

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

Nous avons supprimé la valeur 5 de set1 avec la fonction discard() dans le code ci-dessus. Comme discuté ci-dessus, si nous essayons de passer une valeur à la fonction discard() qui n’est pas présente dans set1, le code est exécuté avec succès et l’interpréteur ne lève aucune exception. Ce phénomène est démontré dans l’exemple de codage suivant.

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

Production:

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

Nous avons essayé de supprimer 51 de set1 avec la fonction discard() dans le code ci-dessus. Le code est exécuté avec succès car la valeur spécifiée n’existe pas dans set1, et aucun élément n’est supprimé de set1.

Supprimer plusieurs éléments d’un ensemble avec l’opérateur - en Python

Nous pouvons utiliser l’opérateur - est utilisé pour effectuer l’opération de différence définie en Python. L’opérateur - supprime tous les éléments de l’ensemble de droite de l’ensemble de gauche et renvoie le résultat sous la forme d’un autre ensemble. Cette méthode ne lève aucune exception si les éléments de l’ensemble de gauche ne sont pas présents dans l’ensemble de droite et renvoie l’ensemble de droite comme résultat. L’extrait de code suivant nous montre comment supprimer plusieurs éléments d’un ensemble avec l’opérateur -.

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

Production:

{1, 3, 5, 7, 9}

Nous avons supprimé tous les éléments de set2 de set1 avec l’opérateur - et stocké l’ensemble résultant dans set3 dans le code ci-dessus. L’exemple de code suivant illustre le scénario dans lequel set1 et set2 ont des valeurs uniques.

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

Production:

{1, 3, 5, 7, 9}

Comme indiqué précédemment, si tous les éléments de l’ensemble de droite ne sont pas présents dans l’ensemble de gauche, le code s’exécute avec succès et l’opérateur - renvoie l’ensemble de gauche comme ensemble résultant.

Supprimer plusieurs éléments d’un ensemble avec la fonction difference() en Python

En différence d’ensemble, nous supprimons tous les éléments d’un ensemble d’un autre ensemble. En Python, la fonction set.difference() est utilisée pour effectuer une opération de différence définie. Le fonctionnement de cette fonction difference() est le même que celui de l’opérateur -. Il prend l’ensemble à supprimer comme paramètre d’entrée, supprime tous ses éléments de l’ensemble appelant et renvoie les résultats sous la forme d’un autre ensemble. Voir l’extrait de code suivant.

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

Production:

{1, 3, 5, 7, 9}

Nous avons supprimé tous les éléments de set2 de set1 avec la fonction difference() et stocké les résultats dans set3 dans le code ci-dessus. Le scénario de la fonction difference() où toutes les valeurs de l’ensemble d’entrée ne sont pas présentes dans l’ensemble appelant est le même que l’opérateur -.

Supprimer plusieurs éléments d’un ensemble avec la fonction difference_update() en Python

Dans les deux sections précédentes, nous avons expliqué comment supprimer plusieurs éléments d’un ensemble, et les deux approches impliquent un troisième ensemble où nous devons stocker les résultats. Cette approche ne nécessite pas un nouvel ensemble pour stocker les résultats. Il met à jour notre ensemble d’appels et stocke les résultats dans l’ensemble d’appels. La fonction difference_update() prend l’ensemble dont les éléments doivent être supprimés de l’ensemble appelant comme paramètre d’entrée et supprime tous les éléments communs de l’ensemble appelant.

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

Production:

{1, 3, 5, 7, 9}

Nous avons supprimé tous les éléments de set2 de set1 et mis à jour set1 avec le jeu résultant en utilisant la fonction difference_update() dans le code ci-dessus. Contrairement aux deux méthodes précédentes, il n’était pas nécessaire de créer un nouvel ensemble juste pour stocker les résultats. Au lieu de cela, le résultat a été automatiquement inséré dans set1.

La fonction difference_update() est équivalente à l’opérateur -= 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

Article connexe - Python Set