Apprendre la structure de données Python Set/Frozenset - Partie 4
Dans cette partie 4 de la série sur la structure de données Python, nous allons voir ce qu’est un ensemble, en quoi il diffère des autres structures de données en python, comment créer des objets set, supprimer des objets set, et méthodes des objets set.
- Un objet set est une collection non ordonnée d’objets hachables distincts.
- Set supprime automatiquement les éléments en double de l’objet.
- Étant donné que les objets set ne sont pas ordonnés, aucune opération d’indexation et de découpage n’est prise en charge.
Il existe actuellement deux types d’ensembles intégrés.
- set – Comme il est modifiable, il n’a pas de valeur de hachage et ne peut pas être utilisé comme clé de dictionnaire ou comme élément d’un autre ensemble.
- frozenset – Immuable et hachable – son contenu ne peut pas être modifié après sa création ; Il peut donc être utilisé comme clé de dictionnaire ou comme élément d’un autre ensemble.
Objet Construct Set
Créez un ensemble en utilisant la méthode constructeur « set() » ou en utilisant des accolades avec une virgule séparant les éléments « {a,b,c} ».
REMARQUE : vous ne pouvez pas construire un objet défini avec des accolades vides car cela créerait un objet dictionnaire.
Définir les méthodes
Utilisez la fonction intégrée « dir() » pour lister les méthodes et attributs disponibles.
Ajouter des éléments à l’objet Set
Comme nous l’avons déjà dit, set est un type mutable. Vous pouvez ajouter, supprimer, mettre à jour votre objet set une fois qu’il est créé.
Parlons de deux méthodes définies : ajouter et mettre à jour.
- Méthode add(elem) – Cette méthode ajoute un seul élément à un objet défini.
- Méthode update(*others) : cette méthode ajoute plusieurs éléments à un objet défini. Vous pouvez passer des objets mutables/immuables en tant qu’argument dans la méthode de mise à jour.
REMARQUE : Les doublons seront automatiquement supprimés.
Supprimer/effacer des éléments d’un objet défini
Comme vous l’avez vu précédemment dans d’autres rubriques de structure de données (liste, tuples, dictionnaire), pour set, vous pouvez également utiliser le mot-clé intégré « del » pour supprimer l’objet set de l’espace de noms (c’est-à-dire Memory).
Vous trouverez ci-dessous les méthodes permettant aux objets définis de supprimer des éléments.
- clear() – Effacera tous les éléments rendant l’ensemble vide. Cette méthode clear() est disponible dans d’autres structures de données offrant les mêmes fonctionnalités.
- pop() – Supprime les éléments arbitraires.
- discard(elem) – Si l’élément n’est pas trouvé dans l’objet set, la méthode « discard() » ne générera aucune erreur.
- remove(elem) – Identique à la méthode « discard() » mais elle lèvera KeyError lorsqu’un élément n’est pas trouvé.
Opérations de set
Set fournit des méthodes pour effectuer des opérations mathématiques telles que l’intersection, l’union, la différence et la différence symétrique. Vous vous souvenez du « diagramme de Venn » de vos années de lycée ?
Nous allons jeter un coup d’œil aux méthodes ci-dessous sur la façon dont les opérations mathématiques sont effectuées.
- union
- carrefour
- mise à jour de l'intersection
- différence symétrique
- mise_à_jour_de_différence_symétrique
- différence
- différence_mise_à_jour
- isdisjoint
- est un sous-ensemble
- issuperset
Union, Intersectio, Différence, Symmetric_Difference
- union(*other) – Renvoie un nouvel ensemble avec les éléments de l’ensemble et de tous les autres.
- intersection(*other) – Renvoie un nouvel ensemble avec des éléments communs à l’ensemble et à tous les autres.
- difference(*others) – Renvoie un nouvel ensemble avec des éléments de l’ensemble qui ne sont pas dans les autres.
- symmetric_difference(other) – Renvoie un nouvel ensemble avec des éléments dans l’ensemble ou dans un autre, mais pas les deux.
Mise à jour de l'intersection
intersection_update(*others) – Mettre à jour l’ensemble, en ne conservant que les éléments qui s’y trouvent et tous les autres.
Mise à jour de la différence
difference_update(*others) – Mettez à jour l’ensemble, en ne conservant que les éléments qui s’y trouvent et tous les autres.
Mise à jour de la différence symétrique
symmetric_difference_update(autre) – Mettez à jour l’ensemble, en ne conservant que les éléments trouvés dans l’un ou l’autre ensemble, mais pas dans les deux.
Estdisjoint, Estsous-ensemble, Estsur-ensemble
- isdisjoint(other) – Renvoie True si l’ensemble n’a aucun élément en commun avec d’autres. Les ensembles sont disjoints si et seulement si leur intersection est l’ensemble vide.
- issubset() – Teste si chaque élément de l’ensemble se trouve dans un autre.
- issuperset() – Teste si chaque élément de l’autre est dans l’ensemble.
Méthode copy()
Vous pouvez créer une copie identique de l’objet set existant en utilisant la méthode copy(). Cette méthode est également disponible pour d’autres types de structures de données comme la liste, le dictionnaire, etc.
Supprimez l’objet set de l’espace de noms à l’aide d’un mot-clé « del » intégré.
Coffret La Reine des Neiges
- L’ensemble gelé est de type immuable. Une fois construit, vous ne pouvez pas ajouter, supprimer ou mettre à jour des éléments de la liste.
- Les ensembles gelés étant immuables, ils sont hachables, peuvent être utilisés comme une « clé » pour les dictionnaires ou des éléments pour un autre objet d’ensemble.
- L’ensemble gelé est construit à l’aide de la fonction « frozenset() ».
- Frozen set fournit le même ensemble de méthodes que « set » comme union(), intersection, copy(), isdisjoint() etc.
Résumé
Dans cet article, vous avez vu ce qu’est le set, la différence entre set et frozen set, comment créer et accéder aux éléments de set, les méthodes de set, etc...











