Ensembles (sets) dans le langage Python
Qu'est-ce qu'un ensemble ?
Un ensemble ou set est une structure de données unique en Python. C'est une liste non ordonnée d'éléments uniques.
Quelles sont les différences avec les tuples ?
Les tuples et les ensembles (sets) sont tous deux des structures de données en Python, mais ils ont des différences significatives.
-
Les éléments des tuples sont ordonnées alors que les éléments des ensembles ne sont pas ordonnées et son forcément uniques.
-
Les tuples sont immuables alors qu'il est possible d'ajouter, de supprimer ou modifier des éléments dans un ensemble.
Créer une ensemble
Pour créer une ensemble, il faut utiliser les accolades {}
.
informations = {"Mélanie", 10, 23, "Henrique"}
print(informations)
# Affiche : {'Henrique', 'Mélanie', 10, 23}
Vous avez noté que le résultat renvoie les éléments dans un ordre différent. En effet, puisque les ensembles ou sets ne sont pas ordonnées.
Récupérer un élément
Il n'est pas possible de récupérer un élément d'un ensemble. Si vraiment pour votre projet, vous avez besoin de cette fonctionnalité, il vous faudra le convertir en un tuple ou une liste.
ℹ️ Nous verrons ensemble plus tard comment convertir les différentes structures de données.
Unicité
Une des particularités des ensembles qui est intéressante, est que les éléments sont forcément unique. Il n'y aura jamais de doublons.
Comment cela se traduit-il concrètement ?
nombres = {50, 50, 50, 10, 23, 12}
print(nombres)
# Affiche : {50, 10, 12, 23}
Avez-vous notés ? Dans l'ensemble (set) de la variable nombres
, il y a trois fois 50
. À l'affichage, il n'y a qu'un seul 50
car pour les ensembles, les éléments sont forcément uniques. Donc, si des doublons sont présents lors de la création, Python les élimine pour les adapter.
Parcourir les éléments d'un ensemble
Il est tout à fait possible de parcourir les éléments d'un ensemble grâce à une boucle for.
noms = {"Pierre", "Paul", "Marie"}
# Parcourir un ensemble avec une boucle for
for element in noms:
print(element)
# Affiche :
# Pierre
# Paul
# Marie
Vérifier si un élément existe dans un ensemble
Grâce aux conditions, vous pouvez vérifier si un élément est dans un ensemble.
noms = {"Pierre", "Paul", "Marie"}
# Vérifier si un élément est dans un ensemble
if "Paul" in noms:
print("Oui, Paul est dans l'ensemble")
# Affiche : Oui, Paul est dans l'ensemble
Ajouter ou supprimer un élément
Ajouter
Pour ajouter un élément, il faut utiliser la méthode .add()
.
noms = {"Pierre", "Paul", "Marie"}
noms.add("Jacques")
print(noms)
# Affiche : {'Pierre', 'Paul', 'Marie', 'Jacques'}
Supprimer
Si vous souhaitez supprimer un élément, il sera nécéssaire de se servir de la méthode .remove()
.
noms = {"Pierre", "Paul", "Marie"}
noms.remove("Paul")
print(noms)
# Affiche : {'Pierre', 'Marie'}