Conceptos claves set ( )
Conjuntos mutables versus inmutables: los conjuntos mutables se pueden modificar después de su creación, mientras que los conjuntos congelados son inmutables y no se pueden cambiar.
Elementos hash: los elementos de un conjunto deben ser hash, lo que significa que deben ser inmutables, lo que permite su identificación única.
Métodos de conjunto: los conjuntos tienen varios métodos, como unión, intersección, diferencia y diferencia simétrica, que permiten una poderosa manipulación de datos.
Conjunto: un conjunto es una colección de elementos de datos únicos, sin duplicados, desordenados y no indexables.
Los profesionales de los datos dependen de los conjuntos para separar los datos e identificar sus elementos únicos. COMO ha ido descubriendo, los objetos de conjunto son similares a las listas y los diccionarios, pero no tienen pares clave-valor ni la capacidad posicional index[i]. Además, los conjuntos contienen valores únicos pero no tienen un comportamiento de orden o índice de elementos. Los profesionales de los datos comparan conjuntos para comprender el rango de datos que contienen, dónde se cruzan y qué elementos están presentes en uno de los conjuntos pero no en ambos. Los conjuntos también son útiles a la hora de limpiar datos para su análisis. Esta lectura es una guía de referencia para conjuntos que te ayudará mientras continúas aprendiendo Python.
Guardar este ítem del curso
Si lo desea, puede guardar una copia de esta guía para futuras consultas. Utilízala como recurso para practicar más o en tus futuros proyectos profesionales. Para acceder a una versión descargable de este elemento del curso, haga clic en el siguiente enlace y seleccione "Usar plantilla."
Revisión de conjuntos
Un conjunto es una colección de elementos de datos únicos, sin duplicados. En Python, es una clase de objeto-de hecho, dos clases diferentes-que aprenderás en esta lectura. Sin embargo, los conjuntos no son exclusivos de Python, ni siquiera de la Programación informática; son un concepto importante de las matemáticas en general. Los conjuntos proporcionan un medio simple para identificar elementos de datos únicos.
Crear un conjunto
Crea un conjunto utilizando llaves:
my_set = {5, 10, 10, 20}
Tenga en cuenta que un conjunto vacío no se puede crear con llaves, ya que se interpretará como un diccionario vacío.
Existen dos funciones para crear conjuntos en Python: set() y frozenset(). Úsalas en cualquier objeto iterable. O utiliza estas funciones para crear conjuntos vacíos.
set()
Este es un tipo de datos mutable.
Debido a que es mutable, esta clase viene con métodos adicionales para añadir y eliminar datos del conjunto.
Se puede aplicar a cualquier objeto iterable y eliminará los elementos duplicados del mismo.
No es ordenable ni indexable.
Los elementos de un conjunto deben ser hashables; generalmente, esto significa que deben ser inmutables. (Consulte los recursos adicionales para obtener más información sobre hash)
En los ejemplos siguientes, se instancian cuatro conjuntos utilizando diversos tipos de datos:
>>example_a = [1, 2, 2.0, '2']
El siguiente ejemplo muestra el método add(), que es uno de los métodos especiales disponibles para los conjuntos, pero no para los frozensets.
>>example_d = {'mother', 'hamster', 'father'}
>>>
{'mother', 'elderberries', 'father', 'hamster'}
Se ha añadido un elemento al conjunto example_d, modificándolo. Este es un ejemplo de la mutabilidad de la clase set.
frozenset()
Los frozensets son otro tipo de conjunto en Python. Son su propia clase, y son muy similares a los conjuntos, excepto que son inmutables.
Es un tipo de datos inmutable.
Se puede aplicar a cualquier objeto iterable y eliminará los elementos duplicados del mismo.
Debido a que son inmutables, los frozensets pueden ser usados como claves de diccionario y como elementos en otros sets.
En este ejemplo, se utiliza un frozenset dentro de un set.
>>example_e = [1.5, frozenset(['a', 'b', 'c']), 1.5]
Métodos de conjuntos
Los conjuntos son útiles para determinar qué valores contiene una estructura de datos y para eliminar valores duplicados. Existen numerosos métodos de conjuntos -como la intersección, la unión, la diferencia y la diferencia simétrica- que añaden funcionalidad y potencia al trabajo con conjuntos.
unión()
Devuelve un nuevo conjunto con los elementos del conjunto y todos los demás.
El operador de esta función es la tubería ( | ).
Devuelve un nuevo conjunto con elementos comunes al conjunto y a todos los demás.
El operador de esta función es el ampersand (&).
)
Devuelve un nuevo conjunto con elementos del conjunto que no están en los otros.
El operador de esta función es el operador de resta ( - ).
()
Devuelve un nuevo conjunto con elementos en el conjunto o en los otros, pero no en ambos.
El operador de esta función es el signo de intercalación ( ^ ).
Consulte la documentación de Python para obtener más información sobre conjuntos y frozensets, incluida una lista completa de los métodos de clase disponibles.
Para métodos exclusivos de conjuntos (y no disponibles para frozensets), consulte esta documentación de Python sobre métodos de conjuntos.
Para más ejemplos de conjuntos, consulta el tutorial de Python sobre conjuntos.
Para más información sobre tablas hash, qué hace que algo sea hashable, y hashing como concepto, consulte este recurso de Runestone Academy. Para una historia interesante sobre el nacimiento de los algoritmos hash originales, echa un vistazo a este artículo de IEEE Spectrum.
No hay comentarios.:
Publicar un comentario