Exercices sur les ensembles en Python

Bonjour à tous, futurs sorciers Python ! Aujourd'hui, nous allons plonger dans le monde magique des ensembles en Python. Ne vous inquiétez pas si vous n'avez jamais codé avant – je serai votre guide ami sur ce voyage passionnant. À la fin de ce tutoriel, vous manipulerez des ensembles comme un pro !

Python - Set Exercises

Qu'est-ce qu'un ensemble ?

Avant de nous lancer dans les exercices, comprenons rapidement ce qu'est un ensemble en Python. Imaginez que vous avez un sac de billes, mais chaque bille ne peut apparaître qu'une seule fois dans le sac. C'est essentiellement ce qu'est un ensemble en Python – une collection d'éléments uniques.

Les ensembles sont non ordonnés, ce qui signifie que les éléments n'ont pas de position spécifique. Ils sont également muables, donc nous pouvons ajouter ou supprimer des éléments. Cependant, les éléments eux-mêmes doivent être immuables (comme des nombres ou des chaînes de caractères, pas des listes).

Maintenant, mettons-nous au travail !

Exercice 1 sur les ensembles en Python : Création et manipulation des ensembles

Création d'un ensemble

Commençons par créer un simple ensemble :

fruits = {"pomme", "banane", "cerise"}
print(fruits)

Lorsque vous exécutez ce code, vous verrez :

{'cerise', 'banane', 'pomme'}

Notez comment l'ordre peut être différent de ce que nous avons saisi ? C'est parce que les ensembles sont non ordonnés !

Ajout d'éléments à un ensemble

Ajoutons maintenant quelques fruits de plus à notre ensemble :

fruits.add("fruit du dragon")
print(fruits)

fruits.update(["baie d'elder", "figue"])
print(fruits)

Sortie :

{'cerise', 'banane', 'pomme', 'fruit du dragon'}
{'figue', 'cerise', 'banane', 'baie d'elder', 'pomme', 'fruit du dragon'}

Voyez comment nous avons utilisé add() pour un seul élément et update() pour plusieurs éléments ? C'est comme ajouter une seule bille à votre sac versus verser un paquet entier !

Suppression d'éléments d'un ensemble

Retirons certains fruits :

fruits.remove("banane")
print(fruits)

fruits.discard("raisin")  # Cela ne provoquera pas d'erreur même si "raisin" n'est pas dans l'ensemble
print(fruits)

Sortie :

{'figue', 'cerise', 'baie d'elder', 'pomme', 'fruit du dragon'}
{'figue', 'cerise', 'baie d'elder', 'pomme', 'fruit du dragon'}

remove() générera une erreur si l'élément n'existe pas, tandis que discard() ne le fera pas. C'est comme choisir soigneusement une bille spécifique versus chercher en causant une à supprimer.

Exercice 2 sur les ensembles en Python : Opérations sur les ensembles

Maintenant que nous avons maîtrisé les bases, jouons avec plusieurs ensembles !

Union des ensembles

Imaginez que vous et votre ami avez tous deux des sacs de billes. L'union est toutes les billes uniques que vous avez ensemble.

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
union_set = set1.union(set2)
print(union_set)

Sortie :

{1, 2, 3, 4, 5, 6, 7, 8}

Intersection des ensembles

L'intersection est les billes que vous avez en commun.

intersection_set = set1.intersection(set2)
print(intersection_set)

Sortie :

{4, 5}

Différence des ensembles

La différence est les billes que vous avez et que votre ami n'a pas.

difference_set = set1.difference(set2)
print(difference_set)

Sortie :

{1, 2, 3}

Exercice 3 sur les ensembles en Python : Opérations avancées sur les ensembles

Prêt à passer au niveau supérieur ? Attaquons quelques opérations plus avancées !

Différence symétrique

Cela nous donne toutes les billes qui sont dans l'un des ensembles, mais pas dans les deux.

symmetric_difference = set1.symmetric_difference(set2)
print(symmetric_difference)

Sortie :

{1, 2, 3, 6, 7, 8}

Subset et Superset

Vérifions si un ensemble est contenu dans un autre :

set3 = {1, 2, 3}
print(set3.issubset(set1))  # Est-ce que set3 est un sous-ensemble de set1 ?
print(set1.issuperset(set3))  # Est-ce que set1 est un sur-ensemble de set3 ?

Sortie :

True
True

C'est comme vérifier si toutes vos billes sont également dans la plus grande collection de votre ami !

Ensembles figés

Parfois, nous avons besoin d'un ensemble qui ne peut pas être modifié. Entrez les ensembles figés :

frozen_fruits = frozenset(["pomme", "banane", "cerise"])
print(frozen_fruits)

# Cela générera une erreur :
# frozen_fruits.add("fruit du dragon")

Sortie :

frozenset({'cerise', 'banane', 'pomme'})

Pensez à un ensemble figé comme un sac de billes scellé dans la glace – vous pouvez regarder, mais vous ne pouvez pas toucher !

Résumé des méthodes des ensembles

Voici un tableau pratique des méthodes des ensembles que nous avons apprises :

Méthode Description
add() Ajoute un élément à l'ensemble
update() Met à jour l'ensemble avec des éléments d'un autre ensemble ou d'un itérable
remove() Supprime un élément spécifié (lève une erreur si non trouvé)
discard() Supprime un élément spécifié (pas d'erreur si non trouvé)
union() Retourne un ensemble contenant l'union des ensembles
intersection() Retourne un ensemble contenant l'intersection des ensembles
difference() Retourne un ensemble contenant la différence entre les ensembles
symmetric_difference() Retourne un ensemble avec des éléments dans l'un ou l'autre ensemble, mais pas les deux
issubset() Vérifie si un ensemble est un sous-ensemble d'un autre ensemble
issuperset() Vérifie si un ensemble est un sur-ensemble d'un autre ensemble

Et voilà, les amis ! Vous venez de monter en niveau avec vos compétences en Python et les ensembles. Souvenez-vous, la pratique fait le maître, alors continuez à jouer avec ces concepts. Avant que vous ne le sachiez, vous manipulerez des ensembles comme un véritable sorcier Python !

Credits: Image by storyset