Apprenez la structure des données Python Set / Frozenset - Partie 4

Apprenez la structure des données Python Set / Frozenset - Partie 4

Dans ce Partie 4 De la série de structures de données Python, nous discuterons de ce qu'est un ensemble, comment il diffère des autres structures de données dans Python, comment créer des objets définis, supprimer des objets définis et des méthodes de définition des objets.

  • Un objet défini est une collection non ordonnée d'objets hashable distincts.
  • Définir automatiquement les éléments en double de l'objet.
  • Étant donné que les objets définis ne sont pas ordonnés, aucune opération d'indexation et de tranchage n'est prise en charge.

Il existe actuellement deux types de jeux intégrés.

  1. ensemble - Puisqu'il est mutable, 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.
  2. Frozenset - immuable et hashable - 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.

Construire l'objet SET

Créer un ensemble à l'aide de la méthode du constructeur "ensemble()" ou en utilisant des accolades bouclées avec des virgules séparant les éléments "abc".

NOTE: Vous ne pouvez pas construire un objet défini par des accolades vides car il créera un objet de dictionnaire.

Construire un objet Set dans Python

Définir les méthodes

Utiliser intégré "Dir ()" Fonction pour répertorier les méthodes et attributs de jeu disponibles.

Définir des méthodes dans Python

Ajouter des éléments pour définir l'objet

Comme déjà indiqué, 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'ensemble ajouter et mise à jour.

  • Ajouter la méthode (elem) - Cette méthode ajoute un seul élément à un objet SET.
  • Méthode de mise à jour (* autres) - Cette méthode ajoute plusieurs éléments à un objet SET. Vous pouvez passer des objets mutables / immuables comme argument dans la méthode de mise à jour.

NOTE: Les doublons seront automatiquement supprimés.

Ajouter et mettre à jour la méthode

Supprimer / effacer les éléments d'un objet défini

Comme vous l'avez vu précédemment dans un autre sujet de structure de données (liste, Tuples, Dictionary), pour l'ensemble, vous pouvez également utiliser le mot-clé intégré "Del" Pour supprimer l'objet set de l'espace de noms (i.e Mémoire).

Vous trouverez ci-dessous les méthodes pour définir des objets pour supprimer les éléments.

  • clair() - Effacera tous les éléments rendant l'ensemble vide. Ce clair() La méthode est disponible dans d'autres structures de données fournissant la même fonctionnalité.
  • populaire() - Supprime les éléments arbitraires.
  • défausse (elem) - Si l'élément n'est pas trouvé dans l'objet SET, alors "jeter()" la méthode n'augmentera aucune erreur.
  • Supprimer (elem) - De même "jeter()" Méthode mais cela augmentera Keyerror lorsqu'un élément n'est pas trouvé.
Supprimer et effacer les objets définis

Définir les opérations

Ensemble 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. Se souvenir "Diagramme de Venn«De vos jours d'école?

Nous allons examiner les méthodes ci-dessous sur la façon dont les opérations mathématiques sont effectuées.

  • syndicat
  • intersection
  • intersection_update
  • symétric_différence
  • symetric_difference_update
  • différence
  • différence_update
  • isdisjoint
  • issubset
  • issuperset

Union, intersectio, différence, symétric_diférence

  • Union (* Autre) - Renvoyez un nouvel ensemble avec des éléments de l'ensemble et de tous les autres.
  • intersection (* Autre) - Renvoyez un nouvel ensemble avec des éléments communs à l'ensemble et à tous les autres.
  • différence (* autres) - Renvoyez un nouvel ensemble avec des éléments de l'ensemble qui ne sont pas dans les autres.
  • symetric_différence (autre) - Renvoie un nouvel ensemble avec des éléments dans l'ensemble ou dans l'autre mais pas les deux.
Opération de réglage

Intersection_update

intersection_update (* autres) - Mettez à jour l'ensemble, en gardant uniquement les éléments qui y sont trouvés et tous les autres.

Mise à jour de l'intersection

Mise à jour de la différence

différence_update (* autres) - Mettez à jour l'ensemble, en gardant uniquement les éléments qui y sont trouvés et tous les autres.

Mise à jour de la différence

Symetric_difference_update

symetric_difference_update (autre) - Mettez à jour l'ensemble, en gardant uniquement les éléments trouvés dans l'un ou l'autre ensemble, mais pas dans les deux.

Symetric_difference_update

Isdisjoint, issubset, issuperset

  • Isdisjoint (autre) - Retour vrai si l'ensemble n'a aucun éléments en commun avec d'autres. Les ensembles sont disjoints si et seulement si leur intersection est l'ensemble vide.
  • issubset () - Tester si chaque élément de l'ensemble est dans un autre.
  • issuperset () - Testez si chaque élément de l'autre est dans l'ensemble.
Isdisjoint, issubset, issuperset

Méthode Copy ()

Vous pouvez créer une copie identique de l'objet SET existant en utilisant copie() méthode. Cette méthode est également disponible pour d'autres types de structure de données comme la liste, le dictionnaire etc…

Méthode de copie

Supprimer l'objet défini de l'espace de noms à l'aide d'un "Del" mot-clé.

Mot-clé del

Ensemble surgelé

  • L'ensemble congelé est de type immuable. Une fois construit, vous ne pouvez pas ajouter, supprimer ou mettre à jour les éléments de la liste.
  • L'ensemble congelé étant immuable est présentable, peut être utilisé comme un "clé" Pour les dictionnaires ou les éléments pour un autre objet SET.
  • L'ensemble congelé est construit en utilisant "Frozenset ()" fonction.
  • Frozen Set fournit le même ensemble de méthodes par rapport à «set» comme Union (), Intersection, Copy (), IsDisJoint () etc.
Ensemble surgelé
Résumé

Dans cet article, vous avez vu ce qui est défini, la différence entre l'ensemble et l'ensemble congelé, comment créer et accéder aux éléments définis, les méthodes définies, etc.…