set. discard()
Supprime un élément d’un ensemble s’il y est. Un élément absent ne provoque pas d’erreur.
- Renvoie
None(l’ensemble change sur place).- Modifie l’original
- Oui
Exemple
#online = {"Léa", "Lucas", "Emma"}
online.discard("Lucas")
online.discard("Zoé")
print(sorted(online))Définition et utilisation
#La méthode discard(élément) supprime l’élément donné d’un ensemble. Quand l’élément n’y est pas, rien ne se passe, donc il n’est pas nécessaire de vérifier sa présence au préalable.
Sa contrepartie est remove(), qui se comporte de la même façon mais lève une KeyError quand l’élément est absent. Choisissez remove() quand un élément manquant signale un bug dans le programme, et discard() quand c’est une situation normale.
Les deux méthodes changent l’ensemble sur place et renvoient None. Supprimez plusieurs éléments à la fois avec l’opérateur -= ou la méthode difference_update(), et pop() supprime et renvoie un élément arbitraire.
Syntaxe
#ensemble.discard(element)Paramètres
#element
une valeur hashable
L’élément à supprimer.
Plus d’exemples
#badges = {"start", "série_7"}
badges.discard("champion")
print(sorted(badges))
try:
badges.remove("champion")
except KeyError as error:
print("KeyError:", error)tasks = {"html", "css", "js", "python"}
done = {"css", "js"}
tasks -= done
print(sorted(tasks))Bonnes pratiques
#- Quand un élément pourrait ne pas exister, choisissez
discard(). Un code sansif x in ensemble:est plus court et plus facile à lire. - Ne supprimez pas d’éléments d’un ensemble pendant une boucle sur ce même ensemble. Parcourez une copie, ou construisez un nouvel ensemble à la place.
Entrées associées
#- set.add()Ajoute un élément à un ensemble. Si l’élément y est déjà, l’ensemble ne change pas.
- set.difference()Renvoie un nouvel ensemble avec les éléments du premier ensemble qui ne sont pas dans les autres.
- dict.pop()Supprime une clé d’un dictionnaire et renvoie sa valeur, avec éventuellement une valeur de repli.
- list.remove()Supprime la première occurrence d’une valeur donnée dans une liste.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.