Conjuntos de Python | Operaciones de conjunto de Python

Contenidos

Este post fue hecho público como parte del Blogatón de ciencia de datos

Los conjuntos son un ejemplo de las estructuras de datos esenciales de Python.

Introducción

Las estructuras de datos son la casa de construcción de los scripts de Python. Mantienen o incluyen los datos cuidadosamente para que los trabajadores operen de manera más eficiente. Por eso, es de fundamental relevancia investigar cómo cooperar con las estructuras de datos.

Un conjunto es una combinación de objetos con los últimos puntos característicos.

  • Los conjuntos están desordenados
  • Los conjuntos contienen ítems distintos.
  • Los ítems de un conjunto exigen ser permanentes, dicho de otra forma, inmutables.

Como los conjuntos están desordenados, no podemos hacer operaciones como indexar y segmentar conjuntos. Un conjunto no posibilita tener objetos mutables como listas como elemento en un conjunto de Python. Un caso de uso común de conjuntos es borrar piezas duplicadas de una combinación o secuencia.

En este reporte, descubriremos 5 operaciones de uso común en conjuntos. Comencemos generando un conjunto. Podemos practicar el constructor de conjuntos en colecciones separadas para construir un conjunto.

mylst = ['A', 'A', 'B', 'A', 'C', 'B']
myst = set(mylst)
print(myst)
Output: {'A', 'B', 'C'}

Hemos construido un conjunto a partir de una lista. El conjunto solo cubre los ítems únicos de la lista. El constructor de conjuntos además se puede poner en práctica en una matriz NumPy. Aquí está el código para eso:

import numpy as np
arr = np.random.randint(0, 5, size=20)
myst = set(arr)
print(arr)
Output: [4 0 4 3 1 1 3 0 0 1 3 4 0 3 2 4 1 4 3 3]
print(myst)
Output: {0, 1, 2, 3, 4}

AHORA VEA CINCO OPERACIONES QUE DEBE CONOCER EN ESTRUCTURAS DE DATOS DE CONJUNTOS EN PYTHON:

1.Añadir y borrar ítems

Es un método sencillo para unir o borrar ítems. Los métodos de agregar y quitar se aplican, respectivamente:

myst.add(5)
print(myst)
Output: {0, 1, 2, 3, 4, 5}

Si decidimos agregar un elemento previamente en el conjunto, el conjunto permanecerá igual y no recibiremos un aviso o falla.

myst.add(4)
print(myst)
Output: {0, 1, 2, 3, 4, 5}

La aplicación del método de eliminación es idéntica.

myst.remove(4)
print(myst)
Output: {0, 1, 2, 3, 5}

2.Actualizar un conjunto

Actualizar un conjunto con otro conjunto implica colocar los ítems del segundo conjunto en el conjunto original. Analiza los dos conjuntos resultantes.

myst = set([0, 1, 2, 3, 5])
myotherst = set([3, 4, 5, 6, 7])

Podemos modernizar «myst» por «myotherst» de la próxima manera:

myst.update(myotherst)
print(myst)
Output: {0, 1, 2, 3, 4, 5, 6, 7}

El enfoque de actualización es beneficioso debido a que no necesitamos preocuparnos por los ítems equivalentes y múltiples en ambos conjuntos.

Además podemos renovar un conjunto con estructuras de datos independientes, como listas o tuplas.

myst = set([0, 1, 2, 3, 5])
mylst = [1, 2, 10,11,12]
myst.update(mylst)
print(myst)
Output: {0, 1, 2, 3, 5, 10, 11, 12}

3.Combinando conjuntos

El método de actualización opera en el lugar, lo que implica que altera el conjunto primario. En algunas circunstancias, necesitamos una mezcla de varios conjuntos sin renovar los originales. El sistema de unión refleja la calidad de dos conjuntos, por lo que podemos adjuntarlo a una variable distinto.

myst = {'A', 'B', 'C'}
newst = {'B', 'C', 'D', 'E'}
newst2 = {1, 2, 3}
combinedst = myst.union(newst).union(newst2)print(myst)
Output: {'A', 'B', 'C'}
print(combinedst)
Output: {'A', 1, 2, 'D', 'E', 3, 'B', 'C'}

Obtenemos una secuencia (dicho de otra forma, unión) de los conjuntos, pero los primeros conjuntos siguen siendo los mismos.

En el caso anterior, además hemos notado una forma extraña de construir un conjunto: las partes se pueden agregar dentro de las llaves («{}») a todo el conjunto.

4 comparación de conjuntos

Se pueden examinar dos conjuntos en términos de los ítems que contienen. Los métodos issuperset y issubset se pueden usar para relacionar dos conjuntos.

Suponga que tenemos dos conjuntos llamados A y B. Si A incluye todos los ingredientes en B, entonces A es un superconjunto de B. En ese caso, B es un subconjunto de A.

A = {1, 2, 3, 4, 5}
B = {1, 4, 5}
C = {1, 4, 6}
A.issuperset(B)
Output: True
B.issubset(A)
Output: True
A.issuperset(C)
Output: False

Una de las partes del conjunto C no está en el conjunto A. Por eso, A no es un superconjunto de C.

Si dos conjuntos contienen ítems idénticos, pueden considerarse tanto el superconjunto como el subconjunto entre sí.

D = {1, 4, 5}
E = {1, 4, 5}
D.issuperset(E)
Output: True
D.issubset(E)
Output: True

5.La intersección y la diferencia

La teoría de conjuntos es bastante comparable a los gráficos de Venn en matemáticas (estadística).

Podríamos estar involucrados en los ítems que están en un conjunto, pero no en el opuesto. Al mismo tiempo, es factible que necesitemos descubrir los aspectos más destacados que se encuentran en ambos conjuntos. Los métodos de diversidad e intersección se pueden usar para poner en práctica estas acciones, respectivamente.

A = {1, 2, 3, 4, 5}
B = {3, 4, 5, 6, 7, 8}
A.difference(B)
Output: {1, 2}
A.intersection(B)
Output: {3, 4, 5}
B.difference(A)
Output: {6, 7, 8}

La distribución de los conjuntos no se expresa al determinar la intersección. A pesar de esto, la desviación se determina en función del pedido. La diversidad de A de B incluye ítems en A pero no en B y viceversa.

Resumiendo

Hemos realizado casos para ilustrar 5 operaciones diarias hechas en sets. Se pueden usar más métodos para conjuntos. A pesar de esto, lo que hemos incorporado en este post es adecuado para la mayoría de los casos máximos.

Conéctese conmigo en mis redes sociales: MEDIOLINKEDINGITHUB. Gracias por navegar.

Los medios que se muestran en este post no son propiedad de DataPeaker y se usan a discreción del autor.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.