1 – Définir un ensemble en Python
Un ensemble en Python ( Python set) est une collection non ordonnée et non indexée. En Python, les ensembles sont écrits avec des accolades {….}.
mySet = {"Stylo", "Crayon", "Gomme"}
print(mySet)
# Affiche : {'Gomme', 'Crayon', 'Stylo'}
Remarque
Les ensembles ne sont pas ordonnés, les éléments apparaitront donc dans un ordre aléatoire.
2 – Accès aux éléments d’un ensemble Python
Vous ne pouvez pas accéder aux éléments d’un ensemble en faisant référence à un index, car les ensembles ne sont pas ordonnés, les éléments n’ont pas d’index. Mais vous pouvez parcourir les éléments de l’ensemble à l’aide d’une boucle for ou demander si une valeur spécifiée est présente dans un ensemble à l’aide du mot clé in.
Exemple: affichage des éléments d’un ensemble
mySet = {"Stylo", "Crayon", "Gomme"}
for x in mySet:
print(x)
Ce qui affiche :
Crayon
Gomme
Stylo
Vous remarquez que chaque fois que vous faite une nouvelle exécution du programme, il y a un ordre d’affichage différent. Ce qui veut dire que l’ordre dans les ensembles Python n’a aucune importance !
Exemple: vérification d’appartenance d’un élément
mySet = {"Stylo", "Crayon", "Gomme"}
print("Crayon" in mySet) # affiche : True
print("Cahier" in mySet) # affiche : False
3 – Longueur ou cardinal d’un ensemble Python
Pour connaitre la longueur (cardinal) d’un ensemble Python, on utilise la méthode len()
Exemple: longueur d’un ensemble python
mySet = {"Stylo", "Crayon", "Gomme"}
cardinal = len(mySet)
print("card(mySet) = ", cardinal)
# affiche card(mySet) = 3
4 – Opérations : ajouter, supprimer ou mettre à jour un ensemble Python
4.1 Ajouter un ou plusieurs éléments à un ensemble Python
– Pour ajoutez un élément à un ensemble Python, on utilise la méthode add():
Exemple: ajout d’un élément à un ensemble
mySet = {"Stylo", "Crayon", "Gomme"}
mySet.add ("Cahier")
print(mySet)
– On peut aussi ajouter plusieurs éléments en même temps, mais cette fois ci avec la méthode update():
Exemple : ajouter plusieurs éléments
mySet = {"Stylo", "Crayon", "Gomme"}
mySet.update (["Cahier", "Cartable", "Trousse"])
print(mySet)
4.2 Supprimer un élément d’un ensemble Python
Pour supprimer un élément d’un ensemble Python, deux choix s’offrent à vous la méthode remove() ou la méthode discard()
Exemple: supprimer “Crayon” par la méthode remove()
mySet = {"Stylo", "Crayon", "Gomme"}
mySet.remove("Crayon")
print(mySet) # affiche {'Gomme', 'Stylo'}
Remarque: Si l’élément à supprimer n’existe pas, remove() générera une erreur.
Exemple: supprimer “Crayon” par la méthode discard():
mySet = {"Stylo", "Crayon", "Gomme"}
mySet.discard("Crayon")
print(mySet) # affiche {'Gomme', 'Stylo'}
Remarque: Contrairement à la méthode remove(), la méthode discard() ne génère aucune erreur lorsque l’élément à supprimer n’existe pas! L’instruction de suppression sera simplement ignorée !
Remarque: vous pouvez également utiliser la méthode pop() pour supprimer un élément, mais cette méthode supprimera le dernier élément. Rappelez-vous que les ensembles ne sont pas ordonnés et vous ne saurez pas quel élément sera supprimé. La suppression est totalement aléatoire !
4.3 Vider un ensemble Python
– Pour vider ensemble Python, on se sert de la méthode clear()
Exemple: vider un ensemble Python
mySet = {"Stylo", "Crayon", "Gomme"}
mySet.clear()
print(mySet) # affiche set{} qui veut dire un ensemble vide
4.4 Supprimer un ensemble
Pour supprimer un ensemble Python, on utilise la commande del
Exemple: supprimer un ensemble
mySet = {"Stylo", "Crayon", "Gomme"}
del mySet
print(mySet)
# affiche le message d'erreur: builtins.NameError: name 'mySet' is not defined
5 Récapitulatif des méthodes associées à un ensemble Python
- add() : ajoute un élément à l’ensemble
- clear() : supprime tous les éléments de l’ensemble
- copy() : retourne une copie de l’ensemble
- difference () : retourne un ensemble contenant la différence entre deux ensembles ou plus.
- difference_update() : supprime les éléments de cet ensemble qui sont également inclus dans un autre ensemble spécifié
- discard() : supprimer l’élément spécifié
- intersection() : retourne un ensemble, qui est l’intersection de deux autres ensembles.
- intersection_update() : supprime les éléments de cet ensemble qui ne sont pas présents dans d’autres ensembles spécifiés.
- isdisjoint() : indique si deux ensembles ont une intersection ou non.
- issubset() : indique si un autre jeu contient ce jeu ou non.
- issuperset() : indique si cet ensemble contient un autre ensemble ou non.
- pop() : supprime un élément de l’ensemble
- remove() : supprime l’élément spécifié
- symmetric_difference() : retourne un ensemble avec les différences symétriques de deux ensembles
- symmetric_difference_update() : insère les différences symétriques de cet ensemble et d’un autre
- union() : retourne un ensemble contenant l’union des ensembles
- update() : met à jour l’ensemble avec l’union de cet ensemble et d’autres