Cómo verificar si un conjunto es un subconjunto de otro en Python

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo determinar si un conjunto es un subconjunto de otro en Python. Comenzarás por entender el concepto de subconjuntos y crear dos conjuntos, set1 y set2, para explorar su relación. Utilizando el método issubset(), escribirás un script de Python para verificar si set1 es un subconjunto de set2, observando la salida True o False según si todos los elementos de set1 están presentes en set2.

Luego, el laboratorio profundiza en el método issubset(), explorando diferentes escenarios para consolidar tu comprensión. Modificarás los elementos de los conjuntos y volverás a ejecutar el script para observar cómo cambia la salida, reforzando el concepto de subconjuntos y la funcionalidad del método issubset().


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/DataStructuresGroup -.-> python/sets("Sets") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/sets -.-> lab-559563{{"Cómo verificar si un conjunto es un subconjunto de otro en Python"}} python/build_in_functions -.-> lab-559563{{"Cómo verificar si un conjunto es un subconjunto de otro en Python"}} python/data_collections -.-> lab-559563{{"Cómo verificar si un conjunto es un subconjunto de otro en Python"}} end

Comprender los subconjuntos

En este paso, aprenderás sobre los subconjuntos en Python. Un subconjunto es un conjunto cuyos elementos están todos contenidos en otro conjunto. Comprender los subconjuntos es crucial para diversas tareas de programación, como la validación de datos, el filtrado y el análisis de relaciones.

Comencemos creando dos conjuntos:

set1 = {1, 2, 3}
set2 = {1, 2, 3, 4, 5}

Aquí, set1 contiene los elementos 1, 2 y 3, mientras que set2 contiene los elementos 1, 2, 3, 4 y 5. Queremos determinar si set1 es un subconjunto de set2.

Para hacer esto, crearás un script de Python llamado subset_check.py en el directorio ~/project utilizando el editor VS Code. Abre VS Code y crea un nuevo archivo llamado subset_check.py en el directorio ~/project.

Ahora, agrega el siguiente código a subset_check.py:

set1 = {1, 2, 3}
set2 = {1, 2, 3, 4, 5}

is_subset = set1.issubset(set2)

print(is_subset)

Guarda el archivo.

A continuación, ejecuta el script utilizando el comando python en la terminal:

python subset_check.py

La salida será:

True

Esto indica que set1 es de hecho un subconjunto de set2 porque todos los elementos de set1 también están presentes en set2.

Ahora, consideremos otro ejemplo en el que set1 no es un subconjunto de set2:

Modifica el archivo subset_check.py para que sea el siguiente:

set1 = {1, 2, 6}
set2 = {1, 2, 3, 4, 5}

is_subset = set1.issubset(set2)

print(is_subset)

Guarda el archivo y ejecútalo de nuevo:

python subset_check.py

La salida será:

False

Esto se debe a que set1 contiene el elemento 6, que no está presente en set2. Por lo tanto, set1 no es un subconjunto de set2.

Utilizar el método issubset()

En el paso anterior, aprendiste el concepto básico de subconjuntos y viste un ejemplo sencillo utilizando el método issubset(). En este paso, exploraremos el método issubset() en más detalle con diferentes escenarios.

El método issubset() es un método incorporado en Python que se puede utilizar con conjuntos. Devuelve True si todos los elementos de un conjunto están presentes en otro conjunto (el conjunto es un subconjunto), y False en caso contrario.

Consideremos un escenario en el que tenemos dos conjuntos que representan habilidades:

skills1 = {"Python", "Data Analysis"}
skills2 = {"Python", "Data Analysis", "Machine Learning", "SQL"}

Aquí, skills1 representa las habilidades de un científico de datos junior, y skills2 representa las habilidades requeridas para un científico de datos senior. Queremos verificar si las habilidades del científico de datos junior son un subconjunto de las habilidades requeridas para el científico de datos senior.

Abre el archivo subset_check.py en el directorio ~/project utilizando VS Code. Modifica el contenido del archivo para que sea el siguiente:

skills1 = {"Python", "Data Analysis"}
skills2 = {"Python", "Data Analysis", "Machine Learning", "SQL"}

is_subset = skills1.issubset(skills2)

print(is_subset)

Guarda el archivo.

Ahora, ejecuta el script utilizando el comando python en la terminal:

python subset_check.py

La salida será:

True

Esto indica que skills1 es un subconjunto de skills2, lo que significa que las habilidades del científico de datos junior son un subconjunto de las habilidades requeridas para el científico de datos senior.

Consideremos otro escenario en el que skills1 no es un subconjunto de skills2:

Modifica el archivo subset_check.py para que sea el siguiente:

skills1 = {"Python", "Data Analysis", "Cloud Computing"}
skills2 = {"Python", "Data Analysis", "Machine Learning", "SQL"}

is_subset = skills1.issubset(skills2)

print(is_subset)

Guarda el archivo y ejecútalo de nuevo:

python subset_check.py

La salida será:

False

Esto se debe a que skills1 contiene "Cloud Computing", que no está presente en skills2. Por lo tanto, skills1 no es un subconjunto de skills2.

Verificar con el operador <=

En el paso anterior, aprendiste cómo utilizar el método issubset() para verificar si un conjunto es un subconjunto de otro. En este paso, aprenderás una forma alternativa de verificar subconjuntos utilizando el operador <=.

El operador <= se puede utilizar para verificar si un conjunto es un subconjunto de otro. Devuelve True si el conjunto del lado izquierdo es un subconjunto del conjunto del lado derecho, y False en caso contrario.

Volvamos al ejemplo de habilidades del paso anterior:

skills1 = {"Python", "Data Analysis"}
skills2 = {"Python", "Data Analysis", "Machine Learning", "SQL"}

Queremos verificar si skills1 es un subconjunto de skills2 utilizando el operador <=.

Abre el archivo subset_check.py en el directorio ~/project utilizando VS Code. Modifica el contenido del archivo para que sea el siguiente:

skills1 = {"Python", "Data Analysis"}
skills2 = {"Python", "Data Analysis", "Machine Learning", "SQL"}

is_subset = skills1 <= skills2

print(is_subset)

Guarda el archivo.

Ahora, ejecuta el script utilizando el comando python en la terminal:

python subset_check.py

La salida será:

True

Esto indica que skills1 es de hecho un subconjunto de skills2.

Consideremos otro escenario en el que skills1 no es un subconjunto de skills2:

Modifica el archivo subset_check.py para que sea el siguiente:

skills1 = {"Python", "Data Analysis", "Cloud Computing"}
skills2 = {"Python", "Data Analysis", "Machine Learning", "SQL"}

is_subset = skills1 <= skills2

print(is_subset)

Guarda el archivo y ejecútalo de nuevo:

python subset_check.py

La salida será:

False

Esto se debe a que skills1 contiene "Cloud Computing", que no está presente en skills2. Por lo tanto, skills1 no es un subconjunto de skills2.

Es importante tener en cuenta que el operador <= también devuelve True si los dos conjuntos son iguales. Por ejemplo:

set1 = {1, 2, 3}
set2 = {1, 2, 3}

is_subset = set1 <= set2

print(is_subset)

La salida será True porque set1 y set2 son iguales. Si quieres verificar si set1 es un subconjunto propio de set2 (es decir, set1 es un subconjunto de set2 pero no es igual a set2), puedes utilizar el operador < en su lugar.

Resumen

En este laboratorio, aprendiste cómo verificar si un conjunto es un subconjunto de otro en Python. Comenzaste por entender el concepto de subconjuntos, donde un conjunto se considera subconjunto si todos sus elementos están contenidos dentro de otro conjunto.

Luego, utilizaste el método issubset() para determinar si un conjunto es un subconjunto de otro. Al crear scripts de Python y ejecutarlos, observaste cómo el método issubset() devuelve True cuando todos los elementos del primer conjunto están presentes en el segundo conjunto, y False en caso contrario.