Qu’est-ce qu’un ensemble en Python et comment en créer un

L'ensemble Python est un littéral unique pour filtrer des valeurs distinctes dans une liste ou un tableau d'éléments. Contrairement à une liste, un dictionnaire ou un tuple Python, il n'accepte pas les doublons. Cela peut donc être un outil précieux de nettoyage des données.

Mais comment créer un ensemble et l'utiliser en Python? Nous vous expliquerons cela dans cet article.

Caractéristiques des ensembles Python

En plus de ne pas accepter les doublons, un littéral d'ensemble a d'autres caractéristiques qui le différencient des autres types de données. Voici quelques-unes de ses caractéristiques:

  • C'est immuable: cela signifie que vous ne pouvez pas changer les valeurs d'un ensemble une fois que vous l'avez créé.
  • Un ensemble littéral renvoie un arrangement dynamique chaque fois que vous en créez un. En substance, les éléments d'un ensemble ne sont pas ordonnés.
  • Comme il présente des éléments non ordonnés, contrairement aux littéraux de liste et de dictionnaire, vous ne pouvez pas obtenir les valeurs d'un ensemble par leurs index.

Comment créer et utiliser un ensemble Python

Maintenant que vous connaissez les fonctionnalités de base d'un ensemble Python. Voyons quelques-unes des façons dont vous pouvez l'utiliser dans votre programme.

Vous utilisez des accolades pour créer un ensemble en Python. Un ensemble est donc une liste d'éléments entre accolades séparées par des virgules:

 mySet = {1, 2, "MUO", "Google"}
print(mySet)
Output: {1, 2, "MUO", "Google"}

Vous pouvez également convertir tout autre type de données en un ensemble. Par exemple, le code ci-dessous convertit une liste en un ensemble:

 myList = [1, 2, "MUO", "Google"]
mySet = set(myList)
print(mySet)
Output: {1, 2, "MUO", "Google"}

Pour être sûr, vous pouvez vérifier le type de données de mySet :

 myList = [1, 2, "MUO", "Google"]
mySet = set(myList)
print(type(mySet))
Output: <class 'set'>

Comme nous l'avons mentionné précédemment, un ensemble n'accepte pas les doublons. Cette fonctionnalité peut être utile lorsque vous souhaitez nettoyer un tableau en supprimant les valeurs en double.

Le code ci-dessous supprime les doublons dans une liste et présente la sortie sous la forme d'un ensemble Python:

 myList = [1, 2, 2 "MUO", "MUO", "Google", "Google"]
mySet = set(myList)
print(mySet)
Output: {1, 2, 'MUO', 'Google'}

Pour illustrer davantage la fonctionnalité de filtrage d'un ensemble, lorsque vous imprimez la longueur d'un ensemble, il ne compte pas les valeurs en double:

 mySet = {1, 2, 2, "MUO", "MUO", "Google", "Google"}
print(len(mySet))
Output: 4

Pour voir un meilleur cas d'utilisation d'un ensemble, supprimons les doublons dans le tableau suivant. C'est comme interroger les clés uniques dans un tableau.

Pour ce faire, convertissez un dictionnaire en un ensemble:

 myDiction = {
"Mango":2, "Orange":2, "carrot":2, "MUO":"tech",
"MUO":"web", "Google":"search", "Google":"engine"
}
uniqueSet = set(myDiction)
print("These are the unique keys: {}".format(uniqueSet))
Output: These are the unique keys: {'Google', 'Mango', 'MUO', 'Orange', 'carrot'}

La conversion ci-dessus supprime automatiquement les éléments dupliqués du tableau.

Vous pouvez modifier le code ci-dessus en utilisant une boucle for pour le rendre plus clair:

 for uniques in uniqueSet:
print(uniques)

Vous pouvez également joindre deux ensembles avec la méthode union () :

 setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA.union(setB)
print(newSet)
Output: {1, 3, 4, 5, 6}

Cependant, le code ci-dessus joint les deux ensembles et supprime les valeurs en double.

Vous pouvez également utiliser le tube | fonction pour joindre des ensembles en Python:

 setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA|setB
print(newSet)
Output: {1, 3, 4, 5, 6}

Vous pouvez également trouver la différence entre deux ensembles en Python:

 setA = {1, 3, 5}
setB = {2, 4, 5,}
print(setA.difference(setB))
Output: {1, 3}

Vous pouvez trouver la différence symétrique entre les ensembles A et B. Cette méthode renvoie les éléments de l'un ou l'autre ensemble mais exclut leurs intersections. Voyons comment cela fonctionne:

 setA = {1, 3, 5}
setB = {2, 4, 5,}
print(setA^setB)
Output: {1, 2, 3, 4}

Vous pouvez également utiliser la méthode symetric_difference () :

 setA = {1, 3, 5}
setB = {2, 4, 5,}
print(setA.symmetric_difference(setB))
Output: {1, 2, 3, 4}

Voyons également comment vous pouvez trouver l'intersection des ensembles ci-dessous:

 setA = {1, 3, 5}
setB = {1, 4, 6}
setC = {1, 5, 4}
newSet = setA.intersection(setB, setC)
print(newSet)
Output: {1}

Bien que vous puissiez ajouter à une liste en Python , vous ne pouvez pas faire la même chose pour un ensemble Python. Cependant, vous pouvez ajouter un élément à la fin d'un ensemble à l'aide de la fonction d' ajout .

Mais la fonction d' ajout de Python accepte un argument, vous ne pouvez donc ajouter qu'un tuple à un ensemble. Cela renvoie un ensemble imbriqué:

 setA = {1, 3, 5}setC = {1, 3}
newSet = 1, 6
setC.add(newSet)
print(setC)
Output: {1, (1, 6), 3}

L'ensemble Python utilise la méthode isdisjoint () pour vérifier si deux ensembles sont disjoints. Il renvoie ensuite un booléen:

 setA = {1, 3, 5}
setB = {1, 4, 6}
findDisjoint = setA.isdisjoint(setB)
print("It's {} that setA is a disjoint of B".format(findDisjoint))
Output: It's False that setA is a disjoint of B

Pour vérifier si un ensemble est un sous-ensemble d'un autre, remplacez isdisjoint () par issubset () :

 findSubset = setA.issubset(setB)

Vous pouvez supprimer un élément d'un ensemble:

 setA = {1, 3, 5}
setA.remove(5)
print(setA)
Output: {1, 3}

La méthode clear () efface les éléments d'un ensemble et renvoie un ensemble vide:

 setA = {1, 3, 5}
setA.clear()
print(setA)
Output: set()

Vous pouvez supprimer un élément arbitraire d'un ensemble et renvoyer sa valeur à l'aide de la méthode set.pop () :

 setA = {1, 3, 5}
print(setA.pop())

Vous pouvez également mettre à jour un ensemble Python avec la méthode update ():

 setA = {1, 'b'}
setB = {2, 4, 5,}
print(setA.update(setB))
print(setA)
Output: {1, 2, 4, 5, 'b'}

Jouez avec les ensembles Python

Bien que nous ayons vu comment vous pouvez utiliser un ensemble en Python, il existe encore d'autres moyens pratiques de l'appliquer dans votre code. Comme vous l'avez vu, cela peut même être utile lors du nettoyage des données avec Python.

En plus d'un ensemble, d'autres types de données ou tableaux Python ont de nombreuses utilisations et diverses applications. Essayez de jouer avec eux pour mieux les maîtriser.