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
Sur cette page

Exemple

#
Python
online = {"Léa", "Lucas", "Emma"}

online.discard("Lucas")
online.discard("Zoé")

print(sorted(online))
Résultatrésultat enregistré, vous pouvez le vérifier
['Emma', 'Léa']

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

#
Syntaxe
ensemble.discard(element)

Paramètres

#
  • element

    une valeur hashable

    L’élément à supprimer.

Plus d’exemples

#
discard() et remove()
Python
badges = {"start", "série_7"}

badges.discard("champion")
print(sorted(badges))

try:
    badges.remove("champion")
except KeyError as error:
    print("KeyError:", error)
Résultatrésultat enregistré, vous pouvez le vérifier
['start', 'série_7']
KeyError: 'champion'
Supprimer plusieurs éléments
Python
tasks = {"html", "css", "js", "python"}
done = {"css", "js"}

tasks -= done
print(sorted(tasks))
Résultatrésultat enregistré, vous pouvez le vérifier
['html', 'python']

Bonnes pratiques

#
  • Quand un élément pourrait ne pas exister, choisissez discard(). Un code sans if 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

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.