python

Conjuntos o sets en Python: operaciones y usos

En el lenguaje Python existen los llamados conjuntos  o sets, los mismos conjuntos que vemos en matemáticas (en matemáticas discretas, sobre todo) y a los que les hacemos operaciones como unión, intersección, complemento y todo ello.

Python permite hacer operaciones con conjuntos de una manera fácil y sencilla.

Conjuntos o sets en Python

Justamente hoy veremos eso: cómo trabajar con conjuntos (set) en Python. Recuerda que debes instalar y configurar Python si quieres ejecutar los ejercicios.

Nota: también puedes instalar Python en Android.

Conjuntos en Python

En el post voy a usar set y conjunto de manera intercambiable. Es decir, me voy a referir a lo mismo tanto si digo set como si digo conjunto; esto para evitar repetir la misma palabra.

Para crear un conjunto lo definimos con las llaves {} o llamamos a la función set pasándole una lista.

See the gist on github.

Ambas maneras son válidas, pues al final se obtiene un conjunto. Es hora de ver las operaciones.

Para las operaciones, usaremos los siguientes conjuntos:

See the gist on github.

No sé si esos animales realmente sean acuáticos y terrestres pero por ahora vamos a suponer que sí.

Métodos que necesitas saber

Para obtener la longitud se usa len, para saber si un elemento existe en una lista se usa in.

Dos métodos muy útiles son issubset e issuperset; el primero ayuda a probar si el primer conjunto es un subconjunto del segundo (o sea, que todos sus elementos estén en el otro) y el segundo prueba lo contrario.

Para copiar un conjunto se llama al método copy.

La documentación oficial la encuentras aquí.

Unión de conjuntos con Python

La unión de conjuntos es cuando unimos dos conjuntos (wow, qué profundo).

Para unir 2 conjuntos llamamos al método union que cada conjunto tiene. Como argumento pasamos uno o más conjuntos. Aquí el ejemplo:

See the gist on github.

El conjunto resultante es {‘Tiburón’, ‘Tortuga’, ‘Lobo’, ‘Cangrejo’, ‘Pulpo’, ‘Perro’} porque los repetidos se toman en cuenta una única vez.

También podíamos usar el operador | (sí, el pipe) así:

todos_los_animales = animales_terrestres | animales_acuaticos

Aunque se recomienda la primera forma, pues es más explícita.

Intersección de conjuntos con Python

La operación de intersección es cuando creamos un conjunto que se encuentra en ambos conjuntos. Para hacer la operación de intersección llamamos al método intersection o aplicamos el operador &, o sea, ampersand.

See the gist on github.

El resultado de la intersección es {‘Cangrejo’, ‘Tortuga’}.

Diferencia de conjuntos con Python

La diferencia es eliminar del primer conjunto todo lo que no esté en el segundo. Para hacer esta operación se usa el método difference o el operador -, así como si estuviéramos restando números.

See the gist on github.

Así se obtiene un conjunto que tiene lo que hay en el primero pero no en el segundo. En este caso el resultado es:

{‘Lobo’, ‘Perro’}

Complemento de un conjunto

Para calcular el complemento hacemos una simple diferencia, poniendo un conjunto como el conjunto universal.

Diferencia simétrica

Este es un conjunto de elementos que están ya sea en el primero o en el segundo conjunto, pero no en ambos.

Para obtener la diferencia simétrica de dos conjuntos con Python se usa el método symmetric_difference o el operador ^.

See the gist on github.

Como vemos, la diferencia simétrica es lo contrario de la intersección. El resultado es el siguiente:

{‘Pulpo’, ‘Tiburón’, ‘Perro’, ‘Lobo’}

Conclusión

Hay otros operadores que no mencioné, los cuales son >= que hace lo mismo que issuperset y <= que es lo mismo que issubset.

Aparte de ellos, existe > que es como usar >= pero también verifica que los conjuntos no sean iguales. Lo mismo para < con <=. Si no entiendes esto último lee el párrafo anterior.

Como siempre, te invito a leer más sobre Python o Matemáticas discretas.

 

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

2 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

2 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

2 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

3 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Esta web usa cookies.