1. Définir un ensemble en Python
Un ensemble Python (Python set) est une collection modifiable d'objets distincts pouvant être hachés, comme les listes et les tuplesetc. Il s'agit d'une collection d'objets non ordonnée, ce qui signifie qu'elle n'enregistre pas la position des éléments ou l'ordre d'insertion et ne peut donc pas accéder aux éléments à l'aide d'index.
Un ensemble Python (Python set) est une implémentation Python de la notion d'ensemble en mathématiques. Un objet d'ensemble a des méthodes appropriées pour effectuer des opérations d'ensemble mathématiques comme l'union, l'intersection, la différence, etc.
Un objet ensemble python (python set object) contient un ou plusieurs éléments, pas nécessairement du même type, qui sont séparés par une virgule et entourés d'accolades {}.
Exemple (création d'un ensemble)
1 2 3 |
mySet = {"pantalon", "chemise", "chaussures"} print(mySet) # Affiche : {'pantalon', 'chemise', 'chaussure'} |
Remarque
Les ensembles Python ne sont pas ordonnés, et par suit à chaque fois qu'on exécute le code, 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
1 2 3 4 5 6 7 8 9 |
mySet = {"Java", "Python", "C++"} for x in mySet: print(x) """ Ce qui affiche : Java Python C++ """ |
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
1 2 3 |
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
1 2 3 4 |
mySet = {"Stylo", "Crayon", "Gomme"} cardinal = len(mySet) print("card(mySet) = ", cardinal) # affiche card(mySet) = 3 |
4. Opérations sur 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
1 2 3 |
mySet = {"Stylo", "Crayon", "Gomme"} mySet.add ("Cahier") print(mySet) # affiche: {'Gomme', 'Crayon', 'Stylo', 'Cahier'} |
Remarque
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
1 2 3 4 |
mySet = {"Stylo", "Crayon", "Gomme"} mySet.update (["Cahier", "Cartable", "Trousse"]) print(mySet) # affiche: {'Stylo', 'Trousse', 'Crayon', 'Cahier', 'Cartable', 'Gomme'} |
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()
1 2 3 |
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():
1 2 3 |
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
1 2 3 |
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
1 2 3 4 |
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
6. Quiz
a) Il ne peut contenir que des éléments uniques.
b) Il conserve l'ordre d'insertion des éléments
c) Il ne peut contenir que des nombres entiers
d) Il est immuable
a) set()
b) { }
c) set([])
d) set([1, 2, 3])
a) contains()
b) in
c) isin()
d) exists()
a) remove()
b) delete()
c) discard()
d) pop()
a) union()
b) merge()
c) combine()
d) join()
a) intersect()
b) common()
c) match()
d) same()
a) Les ensembles ne peuvent pas être triés.
b) Utilisez la méthode sort().
c) Utilisez la fonction sorted().
d) Utilisez la méthode order().
a) difference()
b) subtract()
c) unique()
d) exclusive()
a) clear()
b) empty()
c) remove_all()
d) discard_all()
a) Mutables
b) Immuables
c) Les ensembles peuvent être soit mutables soit immuables en fonction de leur utilisation
d) Les ensembles n'existent pas en Python
- Réponse 1 : a) Il ne peut contenir que des éléments uniques.
- Réponse 2 : a) set()
- Réponse 3 : b) in
- Réponse 4 : a) remove()
- Réponse 5 : a) union()
- Réponse 6 : a) intersect()
- Réponse 7 : a) Les ensembles ne peuvent pas être triés.
- Réponse 8 : a) difference()
- Réponse 9 : a) clear()
- Réponse 10: a) Mutables
YounesDerfoufi
CRMEF OUJDA