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 !
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