set. difference()
Renvoie un nouvel ensemble avec les éléments du premier ensemble qui ne sont pas dans les autres.
- Renvoie
- Un nouvel ensemble.
- Modifie l’original
- Non
Exemple
#module_tasks = {"1_1", "1_2", "1_3", "1_4", "1_5"}
done = {"1_1", "1_3"}
todo = module_tasks.difference(done)
print(sorted(todo))
print(sorted(done - module_tasks))Définition et utilisation
#La méthode difference() renvoie la différence d’ensembles : les éléments de l’ensemble sur lequel on l’appelle, moins tout ce qui apparaît dans les collections données. L’ordre compte, car a - b est en général différent de b - a.
L’opérateur - donne le même résultat pour deux ensembles. La méthode accepte aussi des listes et d’autres collections, ainsi que plusieurs arguments à la fois.
Une opération apparentée est la différence symétrique, la méthode symmetric_difference() ou l’opérateur ^. Elle renvoie les éléments qui appartiennent à exactement un seul des deux ensembles. Les versions sur place sont difference_update() et -=.
Syntaxe
#ensemble.difference(*others)
ensemble - autreParamètres
#*others
des ensembles ou d’autres collections
Les collections dont les éléments seront soustraits.
Plus d’exemples
#léa = {"HTML", "CSS", "Python"}
lucas = {"Python", "React"}
print(sorted(léa - lucas))
print(sorted(lucas - léa))
print(sorted(léa ^ lucas))words = ["python", "et", "listes", "avec", "python", "ensembles"]
stop_words = ["et", "avec", "plus"]
print(sorted(set(words).difference(stop_words)))Bonnes pratiques
#- Retenez l’ordre :
a - brenvoie ce qui est dansamais pas dansb. - Une différence d’ensembles perd l’ordre et les doublons. Quand cela compte, filtrez plutôt la liste :
[x for x in items if x not in blocked], oùblockedest un ensemble.
Entrées associées
#- set.union()Renvoie un nouvel ensemble avec les éléments de tous les ensembles donnés, sans doublons.
- set.intersection()Renvoie un nouvel ensemble avec les éléments présents dans tous les ensembles donnés.
- set.discard()Supprime un élément d’un ensemble s’il y est. Un élément absent ne provoque pas d’erreur.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.