Que sont les ensembles en Python et comment les utiliser?

Découvrez ce que sont les ensembles en Python, comment les créer ainsi que diverses opérations. Vous découvrirez également les ensembles figés et leur création en Python.

Le stockage des données est quelque chose qui est nécessaire pour tous les domaines du monde d’aujourd’hui. Python fournit différents types de structures de données pour organiser vos données et ces structures de données sont une partie essentielle de . Parmi toutes les structures de données disponibles en Python, certaines sont modifiables et d'autres immuables. Dans cet article, je discuterai de l'un de ces ensembles, c'est-à-dire. Les ensembles en Python sont des structures de données qui sont mutables, itérables et non ordonnées. Voici un aperçu rapide de tout ce qui a été couvert plus loin.



Qu'est-ce que Set dans Python?
Quand utiliser des ensembles en Python?
Comment créez-vous un ensemble?
Définir les opérations



Que sont les ensembles congelés?

Commençons. :-)



Qu'est-ce que Set dans Python?

Un ensemble est essentiellement un type de données constitué d'une collection d'éléments non ordonnés. Ces éléments peuvent être sur tous les types de données sous forme d'ensembles, contrairement à ,ne sont pas spécifiques au type. Les ensembles sont mutables (modifiables) et n'ont pas de copies répétées d'éléments. Les valeurs d'un ensemble arPar conséquent, l'indexation non indexéeLes opérations g ne peuvent pas être effectuées sur les postes.

Exemple:

Mon_Set = {1, 's', 7.8} imprimer (Mon_Set)

Production: {‘S’, 1, 7,8}



La sortie montre tous les éléments présents My_Set.

Remarque: Un ensemble dans son ensemble est modifiable, mais les éléments d'un ensemble ne le sont pas.

Maintenant que vous savez ce que sont les ensembles en Python, allons de l'avant et comprenons quand utiliser des ensembles.

Quand utiliser des ensembles en Python?

Les ensembles en Python sont utilisés quand-

  • L'ordre des données n'a pas d'importance
  • Vous n'avez besoin d'aucune répétition dans les éléments de données
  • Vous devez effectuer des opérations mathématiques telles que l'union, l'intersection, etc.

Maintenant, allons de l'avant et voyons comment créer des ensembles en Python.

Comment créer un ensemble en Python?

Les ensembles en Python peuvent être créés de deux manières:

  • enfermer des éléments dans des accolades
  • en utilisant la fonction set ()

1. à l'aide d'accolades:

Les ensembles en Python sont créés à l'aide d'accolades ({}).

 Exemple: 
Mon_Set = {1, 's', 7.8} imprimer (Mon_Set)

Production: {‘S’, 1, 7,8}

Comme vous pouvez le voir, My_Set a été créé.

2. Utilisation de la fonction set ()

Les ensembles en Python peuvent être créés à l'aide de la fonction set ().

Exemple:

a = set ({1, 'b', 6.9}) print (a)

Production: {1, 'b', 6,9}

Vous pouvez également créer un ensemble vide en utilisant la même fonction.

Exemple:

Empty_Set = set () print (Empty_Set)

Production: ensemble()

La sortie ci-dessus montre qu'un ensemble vide nommé Empty_Set a été créé.

Vous pouvez ajouter des éléments à cet ensemble vide. Je couvrirai cela dans les sujets suivants.

Définir les opérations

Un certain nombre d'opérations peuvent être effectuées sur des ensembles telles que l'ajout d'éléments, la suppression d'éléments, la recherche de la longueur d'un ensemble, etc. Pour savoir quelles méthodes peuvent être utilisées sur des ensembles, vous pouvez utiliser le à toi() fonction.

Exemple:

classes de stockage en c ++
My_Set = {1, 's', 7.8} dir (My_Set)

Production:

['__and __', '__ class __', '__ contient __', '__ delattr __', '__ dir __', '__ doc __', '__ eq __', '__ format __', '__ ge __', '__ getattribute__', '__gt__', '__hash__', ' __iand__ ',' __init__ ',' __init_subclass__ ',' __ior__ ',' __isub__ ',' __iter__ ',' __ixor__ ',' __le__ ',' __len__ ',' __lt__ ',' __ne__ ',' __new__ ',' __or__ ' , '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', ' __xor__ ',' ajouter ',' effacer ',' copier ',' difference ',' difference_update ',' jeter ',' intersection ',' intersection_update ',' isdisjoint ',' issubset ',' issuperset ',' pop ' , 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']

La sortie montre toutes les méthodes qui peuvent être utilisées sur les ensembles. Je vais en démontrer quelques-uns plus loin dans cet article.

Recherche de la longueur d'un ensemble

Pour trouver la longueur d'un ensemble en Python, vous pouvez utiliser la fonction len (). Cette fonction prend le nom de l'ensemble comme paramètre et renvoie une valeur entière égale au nombre d'éléments présents dans l'ensemble.

Exemple:

Mon_Set = {1, 's', 7.8} len (Mon_Set)

Production: 3

Comme vous pouvez le voir dans la sortie ci-dessus, 3 a été renvoyé, ce qui est égal au nombre d'éléments présents dans My_Set. Désormais, ces éléments sont également accessibles, comme illustré ci-dessous.

Accéder aux éléments d'un ensemble

Les éléments de l'ensemble ne sont pas accessibles à l'aide des numéros d'index car, comme spécifié précédemment, les éléments d'un ensemble ne sont pas indexés. Par conséquent, lorsque vous souhaitez accéder aux éléments d'un ensemble, vous pouvez le parcourir en boucle et accéder à ses éléments.

Exemple:

My_Set = {1, 's', 7.8} pour x dans My_Set: print (x)

Production:

s 1 7,8

Comme vous pouvez le voir dans la sortie, l'ordre est différent de l'ordre des éléments fournis à l'ensemble. C'est parce que les éléments ne sont pas ordonnés.

Ajout d'éléments à un ensemble:

Des éléments peuvent être ajoutés à un ensemble à l'aide de deux fonctions, ajouter() et le mise à jour() fonction.

La fonction add () ajoute un élément à l'ensemble existant comme indiqué ci-dessous:

Exemple:

Mon_Set = {1, 's', 7.8} Mon_Set.add (3) Mon_Set

Production: {1, 3, 7.8, 's'}

La fonction update () est utilisée lorsque vous souhaitez ajouter plus d'un élément à l'ensemble existant.

mutable et immuable en java

Exemple:

Mon_Set = {1, 's', 7.8} Mon_Set.update ([2,4.6,1, 'r']) Mon_Set

Production: {1, 2, 4.6, 7.8, 'r', 's'}

Comme vous pouvez le voir dans la sortie ci-dessus, la fonction update () prend une liste de 4 valeurs et toutes les valeurs sauf 1 sont ajoutées à My_Set. En effet, 1 est déjà présent dans l'ensemble et par conséquent, il ne peut pas être ajouté à nouveau.

Suppression d'éléments d'un ensemble

Pour supprimer des éléments d'un ensemble, vous pouvez utiliser soit le retirer(), Jeter() et le pop () les fonctions.

La fonction remove () prend un paramètre qui est l'élément à supprimer de l'ensemble.

Exemple:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} Mon_Set.remove (2) print (My_Set)

Production: {1, 4.6, 7.8, 'r', 's'}

Comme vous pouvez le voir, 2 a été supprimé de l'ensemble à l'aide de la fonction remove (). Si vous spécifiez un élément en tant que paramètre à remove () qui n'existe pas dans l'ensemble, cela générera une erreur.

Maintenant, si vous souhaitez supprimer un élément de l'ensemble, et si vous n'êtes pas sûr que cet élément soit réellement présent dans l'ensemble ou non, vous pouvez utiliser la fonction discard (). Cette fonction prendra l'élément à supprimer de l'ensemble comme paramètre mais au cas où l'élément n'est pas présent, elle ne génère pas d'erreur.

Exemple:

Mon_Set = {1, 2, 4.6, 7.8, 'r', 's'} Mon_Set.discard (4.6) Mon_Set.discard ('i') print (Mon_Set)

Production: {1, 2, 7.8, 'r', 's'}

La sortie ci-dessus montre que 4.6 a été supprimé de My_Set mais que discard () n’a pas généré d’erreur lorsque j’ai utilisé My_Set.discard (‘i’) même si ‘i’ n’est pas présent dans mon ensemble.

La fonction pop () supprime également les éléments d'ensemble, mais comme un ensemble n'est pas ordonné, vous ne saurez pas quel élément a été supprimé.

Exemple:

Mon_Set = {1, 2, 4.6, 7.8, 'r', 's'} Mon_Set.pop () print (Mon_Set)

Production: {2, 4.6, 7.8, 'r', 's'}

La sortie montre que, en utilisant pop (), un élément aléatoire a été supprimé, qui dans ce cas est 1.

Désormais, si vous souhaitez supprimer tous les éléments présents dans un ensemble, vous pouvez utiliser le clair() méthode.

Exemple:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} Mon_Set.clear () print (My_Set)

Production: ensemble()

Comme vous pouvez le voir dans la sortie ci-dessus, My_Set est un ensemble vide.

Si vous souhaitez supprimer complètement l'ensemble, vous pouvez utiliser le du mot-clé.

Exemple:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} del My_Set print (My_Set)

Lorsque vous exécutez le code ci-dessus, une erreur est générée car My_Set est supprimé.

Vous pouvez également effectuer les diverses opérations mathématiques sur un ensemble telles que l'union, l'intersection, la différence, etc. qui sont décrites ci-dessous.

Union d'ensembles

L'union d'ensembles fait référence à la concaténation de deux ensembles ou plus en un seul ensemble en ajoutant tous les éléments uniques présents dans les deux ensembles. Ceci peut être fait de deux façons:

  • Utilisation du pipeline
  • Utilisation de la fonction union ()

Utilisation du symbole de pipeline:

Deux ensembles peuvent être concaténés en utilisant le | symbole comme suit:

Exemple:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = a | b print (a | b)

Production: {1, 2, 4.6, 5, 7.8, «r», «abc», «s», «d»}

Comme vous pouvez le voir, dans la sortie ci-dessus, une union de l'ensemble a et de l'ensemble b est stockée dans un nouvel ensemble c. Vous pouvez également concaténer plus de deux ensembles en utilisant | symbole.

Exemple:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,5} d = a | b | c impression (d)

Production:

{1, 2, 3, 4, 4.6, 5, 7.8, 'abc', 'd', 'r', 's'}

En utilisant la méthode union ():

Pour concaténer deux ou plusieurs ensembles, vous pouvez utiliser la méthode union () comme suit:

Exemple:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {'m', 23,76,4.7} print (' Définir a U b = ', a.union (b)) print (' Définir a U b U c = ', a.union (b, c))

Production:

Définir a U b = {1, 2, 4.6, 5, 7.8, 'r', 'abc', 's', 'd'}

Définir a U b U c = {1, 2, 4.6, 5, 4.7, 7.8, 'r', 76, 23, 'abc', 'm', 's', 'd'}

La sortie ci-dessus montre que le d est une union des ensembles a, b et c.

Intersection d'ensembles

L'intersection de deux ou plusieurs ensembles est un nouvel ensemble constitué uniquement des éléments communs présents dans ces ensembles.

Ceci peut être fait de deux façons:

  • Utilisation du symbole «&»
  • Utilisation de la fonction intersection ()

Utilisation du symbole «&»:

Vous pouvez déterminer l’intersection de deux ensembles ou plus à l’aide du symbole «&» comme suit:

Exemple:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,} print (a & b) imprimer (a & b & c)

Production:

{2, 5} {2}

La sortie ci-dessus montre l'union des ensembles a, b et c.

marionnette vs chef vs ansible

Utilisation de la fonction intersection ():

Vous pouvez déterminer l'intersection de deux ou plusieurs ensembles à l'aide de la fonction intersection () comme suit:

Exemple:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print ('Set a intersection b = ', a.intersection (b)) print (' Définit une intersection b intersection c = ', a.intersection (b, c))

Production:

Définir une intersection b = {2, 5}

Définir une intersection b intersection c = {2}

La sortie ci-dessus montre l'intersection des ensembles a, b et c.

Différence d'ensembles:

La différence d'ensembles produit un nouvel ensemble composé d'éléments qui ne sont présents que dans l'un de ces ensembles. Cela signifie que tous les éléments à l'exception des éléments communs de ces ensembles seront renvoyés.

Ceci peut être fait de deux façons:

  • Utilisation du symbole «-»
  • Utilisation de la fonction difference ()

En utilisant le symbole «-»:

Pour trouver la différence entre deux ensembles à l’aide du symbole «-», vous pouvez procéder comme suit:

Exemple:

a = {1, 2,5, 4,6, 7,8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print (a-b-c)

Production: {1, 4.6, 7.8, 'r', 's'}

La sortie se compose de tous les éléments de l’ensemble «a» à l’exception de ceux qui sont présents dans «b» et «c».

Utilisation de la fonction difference ():

La différence des ensembles peut être déterminée à l'aide de la fonction intégrée difference () comme suit:

Exemple:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print ('Set a - b = ', a.difference (b)) print (' Set a - b - c = ', a.difference (b, c))

Production:

Définir a - b = {1, 4.6, 7.8, 'r', 's'}

Définir a - b - c = {1, 4.6, 7.8, 'r', 's'}

La sortie ci-dessus est le résultat de la différence en utilisant la fonction difference ().

Maintenant, que faire si vous ne voulez pas du tout modifier les éléments de votre ensemble, vous pouvez utiliser des ensembles figés qui sont discutés ci-dessous.

Qu'est-ce qu'un ensemble congelé?

Un ensemble figé en Python est un ensemble dont les valeurs ne peuvent pas être modifiées. Cela signifie qu'il est immuable contrairement à un ensemble normal dont j'ai discuté précédemment. Les ensembles figés servent de clé dans les paires clé-valeur du dictionnaire.

Comment créer des ensembles surgelés?

Les ensembles congelés peuvent être obtenus en utilisant la méthode frozenset (). Cette fonction prend tout élément itérable et le convertit en élément immuable.

Exemple:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = frozenset (a) print (b)

Production: frozenset ({1, 2, 4.6, 5, 7.8, 'r', 's'})

La sortie ci-dessus se compose de l'ensemble b qui est une version figée de l'ensemble a.

Accès aux éléments d'un ensemble gelé

Les éléments d'un ensemble figé sont accessibles en le parcourant en boucle comme suit:

Exemple:

b = frozenset ([1, 2, 4.6, 5, 7.8, 'r', 's']) pour x dans b: print (x)

Production:

un
2
4.6
5
7,8
s

La sortie ci-dessus montre qu'en utilisant la boucle for, tous les éléments de l'ensemble figé b ont été renvoyés les uns après les autres. Les ensembles figés sont immuables, par conséquent, vous ne pouvez pas effectuer d'opérations telles que add (), remove (), update (), etc. J'espère que vous êtes clair avec tout ce qui a été partagé avec vous dans ce tutoriel. Cela nous amène à la fin de notre article sur les ensembles en Python. Assurez-vous de pratiquer autant que possible et inversez votre expérience.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de ce blog «Sets in Python» et nous vous répondrons dans les plus brefs délais.

Pour obtenir des connaissances approfondies sur Python ainsi que sur ses différentes applications, vous pouvez vous inscrire en direct avec assistance 24/7 et accès à vie.