Ensemble Python

Dans ce tutoriel, nous allons apprendre les ensembles en Python. Dans notre article précédent, nous avons appris les chaînes en Python. Vous pouvez l’apprendre ici.

Ensembles en Python

Les ensembles en Python sont une collection non ordonnée d’éléments uniques. Supposons que vous ayez une liste et que vous ayez besoin uniquement des éléments uniques de la liste, vous pouvez utiliser les ensembles en Python. De même, si vous avez besoin uniquement des éléments uniques d’une entrée, les ensembles en Python peuvent vous aider à le faire. Vous pouvez ajouter ou supprimer des éléments. Vous pouvez initialiser un ensemble en plaçant les éléments entre des accolades. Comme pour les autres séquences, un ensemble peut contenir des éléments de plusieurs types de données. De plus, vous pouvez également créer un ensemble à partir d’une liste en utilisant la fonction set(). L’exemple suivant vous donnera une idée de l’initialisation d’un ensemble.

#ensemble contenant un seul type de données
set1 = {1, 2, 3, 4, 2, 3, 1}
print(set1)

#ensemble contenant plusieurs types de données
set2 = {1, 2, 3, (1, 2, 3), 2.45, "Python", 2, 3}
print(set2)

#création d'un ensemble à partir d'une liste
theList = [1, 2, 3, 4, 2, 3, 1]
theSet = set(theList)
print(theSet)

Le résultat sera

================== RESTART: /home/imtiaz/set1.py ==================
set([1, 2, 3, 4])
set([1, 2, 3, 2.45, 'Python', (1, 2, 3)])
set([1, 2, 3, 4])
>>> 

Ajout d’éléments à un ensemble en Python

Dans l’exemple précédent, nous avons appris comment initialiser un ensemble Python directement. Supposons que nous devions ajouter un élément à un ensemble, nous pouvons le faire en utilisant la fonction add(). Mais cette fonction ne peut ajouter qu’un seul élément. Si vous souhaitez ajouter des éléments itérables tels qu’une liste ou un ensemble, vous pouvez le faire en utilisant la fonction update(). L’exemple suivant vous aidera à comprendre cela

#initialiser un ensemble vide
theSet = set()

#ajouter un seul élément en utilisant la fonction add()
theSet.add(1)
theSet.add(2)
theSet.add(3)
theSet.add(2)
#ajouter un autre type de données
theSet.add('hello')

#ajouter des éléments itérables en utilisant la fonction update()
theSet.update([1,2,4,'hello','world']) #list as iterable element
theSet.update({1,2,5}) #set as iterable element
print(theSet)

La sortie du code suivant sera

================== RESTART: /home/imtiaz/set_new.py ==================
set([1, 2, 3, 4, 5, 'world', 'hello'])
>>> 

Supprimer des éléments d’un ensemble Python

Il existe deux fonctions pour supprimer des éléments d’un ensemble Python. L’une est la fonction remove() et l’autre est la fonction discard(). Si l’élément que vous essayez de supprimer n’est pas présent dans l’ensemble, la fonction remove() générera une exception. Mais la fonction discard() ne fera rien de tel. Le code suivant vous montrera cela

theSet = {1,2,3,4,5,6}

#supprimer 3 en utilisant la fonction discard()
theSet.discard(3)
print(theSet)

#appeler à nouveau la fonction discard() pour supprimer 3
theSet.discard(3) #This won't raise any exception
print(theSet)

#appeler la fonction remove() pour supprimer 5
theSet.remove(5)
print(theSet)

#appeler la fonction remove() pour supprimer 5 again
theSet.remove(5) #this would raise exception
print(theSet) #this won't be printed

Vous obtiendrez la sortie suivante,

================== RESTART: /home/imtiaz/set_del.py ==================
set([1, 2, 4, 5, 6])
set([1, 2, 4, 5, 6])
set([1, 2, 4, 6])

Traceback (most recent call last):
  File "/home/imtiaz/set_del.py", line 16, in 
    theSet.remove(5) #this would raise exception
KeyError: 5
>>> 

Opérations sur les ensembles Python

Vous pourriez être familier avec certaines opérations ensemblistes mathématiques telles que l’union, l’intersection, la différence. Nous pouvons également les réaliser en utilisant des ensembles Python. Maintenant, nous allons apprendre comment faire cela.

Union d’ensembles Python

L’union est l’opération pour fusionner deux ensembles. Cela signifie que l’union va créer un autre ensemble qui contient tous les éléments uniques de deux ensembles. Par exemple, {1, 2, 3, 4} et {2, 3, 5, 7} sont deux ensembles. Si nous faisons l’opération d’union sur eux, nous obtenons {1, 2, 3, 4, 5, 7}. Nous pouvons obtenir cela en utilisant la fonction union().

Intersection d’ensembles Python

Encore une fois, l’intersection est l’opération pour obtenir les éléments uniques communs de deux ensembles. Par exemple, {1, 2, 3, 4} et {2, 3, 5, 7} sont deux ensembles. Si nous les intersectons, nous obtenons {2, 3}. L’opération d’intersection est effectuée par la fonction intersection().

Différence d’ensemble Python

Maintenant, l’opération de différence compare deux ensembles et crée un nouvel ensemble contenant les éléments de l’ensemble A qui ne sont pas communs à l’ensemble B. Supposons que nous ayons deux ensembles, A = {1, 2, 3, 4} et B = {2, 3, 5, 7}. Alors, l’opération A – B générera {1, 4}. De plus, B – A générera {5, 7}. L’opération de différence est effectuée par la fonction difference()… Le code suivant vous donnera une idée de comment effectuer ces opérations d’ensemble en programmation Python.

A = {1, 2, 3, 4} #initializing set A
B = {2, 3, 5, 7} #initializing set B

union_operation = A.union(B)

print("A union B :")
print(union_operation)

intersection_operation = A.intersection(B)

print("A intersection B :")
print(intersection_operation)

difference_operation = A.difference(B)

print("A-B :")
print(difference_operation)

difference_operation = B.difference(A)
print("B-A :")
print(difference_operation)

La sortie que vous obtiendrez ressemblera à ceci

================== RESTART: /home/imtiaz/set_op.py ==================
A union B :
set([1, 2, 3, 4, 5, 7])
A intersection B :
set([2, 3])
A-B :
set([1, 4])
B-A :
set([5, 7])
>>> 

Voilà, c’est tout pour aujourd’hui. J’espère que vous avez bien appris sur l’ensemble Python. Pour toute autre question, vous pouvez simplement écrire votre demande dans la boîte de commentaires. Nous vous répondrons. Référence : Documentation officielle

Source:
https://www.digitalocean.com/community/tutorials/python-set