Determinación de un conjunto en Python

Autor: | Última modificación: 10 de enero de 2023 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

La determinación de un conjunto en Python es dar un criterio que permita decidir, sin ambigüedad, si un determinado objeto pertenece o no a dicho conjunto. Básicamente, la determinación de un conjunto en Python consiste en definir un conjunto. Veamos un ejemplo:

A = {Series de TV interesantes} - Este conjunto está mal definido, ya que el criterio dado es subjetivo
B {Series de TV de temática bélica} - Este conjunto está bien definido, porque el criterio dado me permite decir si una serie de TV pertenece o no a este conjunto

Determinación de un conjunto en Python

Subconjuntos

En la determinación de un conjunto en Python podemos crear también un conjunto y obtener a partir de él un subconjunto.

Dicho más formalmente, dados dos conjuntos A y B, diremos que B es subconjunto de A, o que B está incluido en A, si todo elemento de B pertenece también al conjunto A.

Por ejemplo, si mencionamos como conjunto el mismo espacio (en términos astronómicos) esto no es viable, ya que el espacio tiene infinitos elementos entre los cuales se incluyen planetas, estrellas y objetos no identificables, entre otros muchos.

Si elegimos como subconjunto, por ejemplo, las soluciones que aprende o puede aprender nuestro modelo, estas serían un subconjunto de ese conjunto infinito.

Se expresa:

A ⊃ B o B ⊂ A

La explicación quedarías más o menos así: si tenemos dos conjuntos A y B, diremos que B es subconjunto de A o que B está incluido en A si todo elemento de B pertenece también al conjunto de A.

Ejercicio

Definamos el conjunto como todos los enteros del -3 al 3 y obtengamos al conjunto de todos los que son mayores o iguales a 0.

Ya hemos visto que para este tipo de ejercicios es bueno usar numpy.

#Determinación de un conjunto en Python
array_int = np.arange (-3, 4, 1)
print (array_int)

[-3, -2, -1, 0, 1, 2, 3]

Lo primero que tendremos que hacer es convertir lo que tenemos en un conjunto:

#Determinación de un conjunto en Python
set_array = set (array_int)
print (set_array)

{0, 1, 2, 3, -1, -3, -2}

Entonces, podemos observar que nuestra lista se ha convertido en un conjunto, porque los elementos no están encerrados entre corchetes, sino entre llaves.

Ahora lo que haremos es obtener los elementos que son mayores o iguales a 0. Para hacer eso vamos a crear un subconjunto y vamos a iterar sobre los elementos de este subconjunto:

#Determinación de un conjunto en Python
subset = set ()
for x in set array:

if x >= 0:
subset.add (x)

Si imprimimos este subconjunto podemos ver que aparecerán 0, 1, 2, 3.

subset

{0, 1, 2, 3}

Podemos escribir esto de una manera más reducida en listas de compresión:

{x for x in set_array if x >= 0}

{0, 1, 2, 3}

Como vemos, nos da el mismo resultado.

set {x for x in set_array if x >= 0}

{0, 1, 2, 3}

Como se muestra en el paso anterior, podemos convertir una lista o array a un conjunto usando set.

#Determinación de un conjunto en Python
ls = [1, 2, 3, 4, 5, 6, 6]

set_ls = set (ls)
print (set_ls)

{1, 2, 3, 4, 5, 6, 6}

Hay un tipo especial de subconjuntos denominados impropios que, para el conjunto A, son:

  • El conjunto A (el conjunto completo).
  • El conjunto ∅ (el conjunto vacío).

Es decir, si se cumple alguna de estas dos condiciones, un conjunto puede ser catalogado como conjunto impropio.

Resulta fácil ver que son subconjuntos de A, aunque son muy particulares.

#Determinación de un conjunto en Python
array_int = np.arrange (-3, 4, 1)
set_ls = set (array_int)
print (set_ls)

{0, 1, 2, 3, -1, -3, -2}

#Determinación de un conjunto en Python
#Subconjunto impropio, porque el subconjunto es igual al conjunto original
subset = set (x for x in set_ls)
print (subset)

{0, 1, 2, 3, -2, -3, -1}

Vamos a verificar si el subconjunto es igual al conjunto:

set_ls == subset #Por tanto, subconjunto impropio

True

La respuesta ha sido positiva, por lo tanto, el que tenemos es un subconjunto impropio.

#Determinación de un conjunto en Python
#Subconjunto impropio, porque el subconjunto está vacío
subset = set (x for x in set_ls if x >= 100)
print (subset)

set ()

len (subset)

0

¿Quieres seguir aprendiendo sobre Big Data?

Ahora que hemos visto este tema, puedes seguir aprendiendo sobre Big Data, una de las disciplinas más demandadas de la actualidad y con mejores salarios. Para ello, tenemos el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, una formación intensiva e íntegra en la que podrás adquirir todos los conocimientos teóricos y prácticos necesarios para incursionar en el mercado laboral en poco tiempo. ¡Anímate a cambiar tu futuro y solicita más información ahora!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Trabajo? Aprende a programar y consíguelo.

¡No te pierdas la próxima edición del Aprende a Programar desde Cero Full Stack Jr. Bootcamp!

 

Prepárate en 4 meses, aprende las últimas tecnologías y consigue trabajo desde ya. 

 

Solo en España hay más de 120.400 puestos tech sin cubrir, y con un sueldo 11.000€ por encima de la media nacional. ¡Es tu momento!

 

🗓️ Próxima edición: 13 de febrero

 

Reserva tu plaza descubre las becas disponibles.