Python - Ensembles

Mathématiquement, un ensemble est une collection d'éléments qui ne sont pas dans un ordre particulier. Un ensemble Python est similaire à cette définition mathématique avec les conditions supplémentaires ci-dessous.

  • Les éléments de l'ensemble ne peuvent pas être des doublons.
  • Les éléments de l'ensemble sont immuables (ne peuvent pas être modifiés) mais l'ensemble dans son ensemble est mutable.
  • Il n'y a aucun index attaché à un élément dans un ensemble python. Ils ne prennent donc en charge aucune opération d'indexation ou de découpage.

Définir les opérations

Les ensembles en python sont généralement utilisés pour des opérations mathématiques comme l'union, l'intersection, la différence et le complément, etc. Nous pouvons créer un ensemble, accéder à ses éléments et effectuer ces opérations mathématiques comme indiqué ci-dessous.

Créer un ensemble

Un ensemble est créé en utilisant la fonction set () ou en plaçant tous les éléments dans une paire d'accolades.

Days=set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"])
Months={"Jan","Feb","Mar"}
Dates={21,22,17}
print(Days)
print(Months)
print(Dates)

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant. Veuillez noter comment l'ordre des éléments a changé dans le résultat.

set(['Wed', 'Sun', 'Fri', 'Tue', 'Mon', 'Thu', 'Sat'])
set(['Jan', 'Mar', 'Feb'])
set([17, 21, 22])

Accéder aux valeurs d'un ensemble

Nous ne pouvons pas accéder aux valeurs individuelles dans un ensemble. Nous pouvons uniquement accéder à tous les éléments ensemble comme indiqué ci-dessus. Mais nous pouvons également obtenir une liste d'éléments individuels en parcourant l'ensemble.

Days=set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"])
 
for d in Days:
	print(d)

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant.

Wed
Sun
Fri
Tue
Mon
Thu
Sat

Ajout d'éléments à un ensemble

Nous pouvons ajouter des éléments à un ensemble en utilisant la méthode add (). Encore une fois, comme indiqué, il n'y a pas d'index spécifique attaché à l'élément nouvellement ajouté.

Days=set(["Mon","Tue","Wed","Thu","Fri","Sat"])
 
Days.add("Sun")
print(Days)

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant.

set(['Wed', 'Sun', 'Fri', 'Tue', 'Mon', 'Thu', 'Sat'])

Suppression d'un élément d'un ensemble

Nous pouvons supprimer des éléments d'un ensemble en utilisant la méthode discard (). Encore une fois, comme indiqué, il n'y a pas d'index spécifique attaché à l'élément nouvellement ajouté.

Days=set(["Mon","Tue","Wed","Thu","Fri","Sat"])
 
Days.discard("Sun")
print(Days)

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant.

set(['Wed', 'Fri', 'Tue', 'Mon', 'Thu', 'Sat'])

Union d'ensembles

L'opération d'union sur deux ensembles produit un nouvel ensemble contenant tous les éléments distincts des deux ensembles. Dans l'exemple ci-dessous, l'élément «Wed» est présent dans les deux ensembles.

DaysA = set(["Mon","Tue","Wed"])
DaysB = set(["Wed","Thu","Fri","Sat","Sun"])
AllDays = DaysA|DaysB
print(AllDays)

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant. Veuillez noter que le résultat n'a qu'un seul «mariage».

set(['Wed', 'Fri', 'Tue', 'Mon', 'Thu', 'Sat'])

Intersection d'ensembles

L'opération d'intersection sur deux ensembles produit un nouvel ensemble contenant uniquement les éléments communs des deux ensembles. Dans l'exemple ci-dessous, l'élément «Wed» est présent dans les deux ensembles.

DaysA = set(["Mon","Tue","Wed"])
DaysB = set(["Wed","Thu","Fri","Sat","Sun"])
AllDays = DaysA & DaysB
print(AllDays)

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant. Veuillez noter que le résultat n'a qu'un seul «mariage».

set(['Wed'])

Différence d'ensembles

L'opération de différence sur deux ensembles produit un nouvel ensemble contenant uniquement les éléments du premier ensemble et aucun du second ensemble. Dans l'exemple ci-dessous, l'élément «Wed» est présent dans les deux ensembles, il ne sera donc pas trouvé dans l'ensemble de résultats.

DaysA = set(["Mon","Tue","Wed"])
DaysB = set(["Wed","Thu","Fri","Sat","Sun"])
AllDays = DaysA - DaysB
print(AllDays)

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant. Veuillez noter que le résultat n'a qu'un seul «mariage».

set(['Mon', 'Tue'])

Comparer les ensembles

Nous pouvons vérifier si un ensemble donné est un sous-ensemble ou un sur-ensemble d'un autre ensemble. Le résultat est Vrai ou Faux selon les éléments présents dans les ensembles.

DaysA = set(["Mon","Tue","Wed"])
DaysB = set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"])
SubsetRes = DaysA <= DaysB
SupersetRes = DaysB >= DaysA
print(SubsetRes)
print(SupersetRes)

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant.

True
True