Travailler avec des ensembles Python

En Python, un ensemble est une collection non ordonnée d'éléments uniques. Les ensembles sont utiles lorsque vous devez stocker plusieurs valeurs, mais que vous ne vous souciez pas de l'ordre de ces valeurs et que vous souhaitez vous assurer qu'il n'y a pas d'éléments en double.

Créer des ensembles

Pour créer un ensemble, utilisez des accolades {} ou la fonction set(). Voici quelques exemples:

# Using curly braces
my_set = {1, 2, 3, 4, 5}

# Using the set() function
another_set = set([1, 2, 3, 4, 5])

Ajout et suppression d'éléments

Pour ajouter des éléments à un ensemble, utilisez la méthode add(). Pour supprimer des éléments, vous pouvez utiliser remove() ou discard(). La différence entre les deux est que remove() génère une KeyError si l'élément n'existe pas, tandis que discard() ne le fera pas.

# Adding elements
my_set.add(6)

# Removing elements
my_set.remove(5)  # Will raise KeyError if 5 is not in the set
my_set.discard(10)  # Will not raise an error

Opérations sur les ensembles

Les ensembles Python prennent en charge diverses opérations, telles que l'union, l'intersection, la différence et la différence symétrique. Voici comment vous pouvez les utiliser:

# Union
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2)  # or set1 | set2

# Intersection
intersection_set = set1.intersection(set2)  # or set1 & set2

# Difference
difference_set = set1.difference(set2)  # or set1 - set2

# Symmetric Difference
symmetric_difference_set = set1.symmetric_difference(set2)  # or set1 ^ set2

Compréhensions d'ensemble

Tout comme les compréhensions de liste, Python prend également en charge les compréhensions d'ensemble. Celles-ci vous permettent de créer des ensembles basés sur des itérables existants. Voici un exemple:

# Creating a set of squares
squares = {x ** 2 for x in range(10)}

Conclusion

Les ensembles sont un moyen puissant et flexible de gérer des collections d'éléments uniques en Python. Comprendre comment utiliser efficacement les ensembles vous aidera à gérer les données et à effectuer des opérations avec efficacité et simplicité.