Chapitre 21. Ensembles
- Par Richard Gomez
Pages 459 à 476
Citer ce chapitre
- GOMEZ, Richard,
- Gomez, Richard.
- Gomez, R.
Citer ce chapitre
- Gomez, R.
- Gomez, Richard.
- GOMEZ, Richard,
Les objets de type « ensemble » émulent les objets de la théorie des ensembles (théorie fondamentale des mathématiques). Il s’agit dans ce contexte d’émuler des relations comme l’appartenance « x ∈ E » et l’inclusion « E ⊂ F », sans oublier les opérations comme l’union « E ∪ F », intersection « E ∩ F », la différence « E\F » et la différence symétrique « EΔF ». Dans certains cas, on émulera le passage au complémentaire « Ē ». Nous avons vu au chapitre 20 comment implémenter des ensembles en leur donnant une structure de table de hachage. Les ensembles de type interne sont les objets de type set et frozenset (ces objets sont des tables de hachage émulant des ensembles finis d’objets). Les instances de set sont mutables, tandis que celles de frozenset ne le sont pas. C’est la seule différence entre ces deux types. Les ensembles sont des conteneurs.
Si on implémente une classe d’ensembles, il vaut mieux reprendre les mêmes noms que Python pour les méthodes usuelles (afin de profiter du polymorphisme) :
On dénombre 17 méthodes typiques que nous classons en 5 groupes.
Les méthodes de base sont add, remove et discard (comme avec les tables de hachage). L’interface habituelle est la suivante. Un appel x.add(k) ajoute à l’ensemble x l’élément k. Un appel x.remove(k) ou x.discard(k) retire l’élément k de l’ensemble x. La différence entre remove et discard tient dans le fait que remove lève une exception si k n’est pas un item de x.Les opérations de la théorie des ensembles sont l’union ∪, l’intersection ∩, la différence \ et la différence symétrique Δ…
Date de mise en ligne : 23/02/2023
Ce chapitre est en accès conditionnel
Acheter cet ouvrage
35,99 €
Acheter ce chapitre
5,00 €