Aprenda la estructura de datos de Python Set / Frozenset - Parte 4


En esta Parte 4 de la serie Estructura de datos de Python, discutiremos qué es un conjunto, cómo se diferencia de otra estructura de datos en Python, cómo crear objetos de conjunto, eliminar objetos de conjunto y métodos de objetos de conjunto.

  • A set object is an unordered collection of distinct hashable objects.
  • Set automatically removes duplicate items from the object.
  • Since set objects are unordered, no indexing and slicing operation is supported.

Actualmente hay dos tipos de conjuntos integrados.

  1. set – Since it is mutable, it has no hash value and cannot be used as either a dictionary key or as an element of another set.
  2. frozenset – Immutable and hashable – its contents cannot be altered after it is created; it can, therefore, be used as a dictionary key or as an element of another set.

Construir conjunto de objetos

Cree un conjunto usando el método constructor "set ()" o usando llaves con comas que separan los elementos "{a, b, c}".

NOTA: no puede construir un objeto de conjunto a través de llaves vacías, ya que creará un objeto de diccionario.

Establecer métodos

Utilice la función "dir ()" incorporada para enumerar los métodos y atributos de conjuntos disponibles.

Agregar elementos para establecer un objeto

Como ya se dijo, set es un tipo mutable. Puede agregar, eliminar, actualizar su objeto establecido una vez que se crea.

Hablemos de agregar y actualizar el método de dos conjuntos.

  • add(elem) method – This method adds a single element to a set object.
  • update(*others) method – This method adds multiple elements to a set object. You can pass mutable/immutable objects as an argument in the update method.

NOTA: Los duplicados se eliminarán automáticamente.

Eliminar / borrar elementos de un objeto establecido

Como ha visto anteriormente en otro tema de estructura de datos (lista, tuplas, diccionario), para el conjunto también puede utilizar la palabra clave incorporada "del" para eliminar el objeto del conjunto del espacio de nombres (es decir, memoria).

A continuación se muestran los métodos para establecer objetos para eliminar elementos.

  • clear() – Will clear all the elements making the set empty. This clear() method is available in other data structures providing the same functionality.
  • pop() – Removes arbitrary elements.
  • discard(elem) – If the item is not found in the set object then “discard()” method will not raise any error.
  • remove(elem) – Same like “discard()” method but it will raise KeyError when an item is not found.

Establecer operaciones

Set proporciona métodos para realizar operaciones matemáticas como intersección, unión, diferencia y diferencia simétrica. ¿Recuerda el "diagrama de Venn" de sus días en la escuela secundaria?

Echaremos un vistazo a los siguientes métodos sobre cómo se realizan las operaciones matemáticas.

  • union
  • intersection
  • intersection_update
  • symmetric_difference
  • symmetric_difference_update
  • difference
  • difference_update
  • isdisjoint
  • issubset
  • issuperset
  • union(*other) – Return a new set with elements from the set and all others.
  • intersection(*other) – Return a new set with elements common to the set and all others.
  • difference(*others) – Return a new set with elements in the set that are not in the others.
  • symmetric_difference(other) – Return a new set with elements in either the set or other but not both.

intersection_update (* otros) - Actualiza el conjunto, manteniendo solo los elementos que se encuentran en él y todos los demás.

difference_update (* otros) - Actualiza el conjunto, manteniendo solo los elementos que se encuentran en él y todos los demás.

symmetric_difference_update (otro): actualiza el conjunto, manteniendo solo los elementos encontrados en cualquiera de los conjuntos, pero no en ambos.

  • isdisjoint(other) – Return True if the set has no elements in common with other. Sets are disjoint if and only if their intersection is the empty set.
  • issubset() – Test whether every element in the set is in another.
  • issuperset() – Test whether every element in the other is in the set.

Puede crear una copia idéntica de un objeto de conjunto existente utilizando el método copy (). Este método también está disponible para otros tipos de estructura de datos como lista, diccionario, etc.

Elimine el objeto establecido del espacio de nombres utilizando una palabra clave incorporada "del".

  • Frozen set is immutable type. Once constructed you cannot add, remove or update elements from the list.
  • Frozen set being immutable are hashable, can be used as a “key” for dictionaries or elements for another set object.
  • Frozen set is constructed using “frozenset()” function.
  • Frozen set provides same set of methods in comparison to “set” like union(), intersection, copy(), isdisjoint() etc.

En este artículo ha visto lo que se establece, la diferencia entre el conjunto y el conjunto congelado, cómo crear y acceder a los elementos del conjunto, métodos de conjunto, etc.