Saltar al contenido

Guía completa de los métodos de conjuntos en Python

En este artículo, exploraremos los diversos métodos disponibles para los conjuntos en Python, que son colecciones desordenadas de elementos únicos. Los conjuntos pueden utilizarse para una amplia variedad de tareas, como eliminar duplicados, realizar operaciones de conjuntos como unión, intersección y diferencia, y probar la pertenencia y los subconjuntos. Al dominar los métodos de conjuntos, podrás mejorar tus habilidades en Python y escribir código más eficiente y elegante.

Creación e inicialización de conjuntos

Para crear un conjunto, puedes usar la notación de llaves {} o la función incorporada set(). Si deseas inicializar un conjunto con algunos elementos, puedes usar la misma sintaxis que para listas, tuplas o cadenas, pero sin duplicados. Por ejemplo:

Crear conjuntos en Python

python
fruits = {'apple', 'banana', 'cherry'}
colors = set(['red', 'green', 'blue'])
vowels = set('aeiou')

Ten en cuenta que el orden de los elementos es arbitrario y puede cambiar entre ejecuciones, ya que los conjuntos se implementan mediante tablas hash.

Operaciones básicas de conjuntos

Una vez que hayas creado algunos conjuntos, puedes realizar varias operaciones sobre ellos. Las más comunes son:

  • Unión: combina los elementos de dos o más conjuntos en un nuevo conjunto que contiene todos los elementos únicos.

Unión de conjuntos en Python

python
A = {1, 2, 3}
B = {2, 3, 4}
C = {3, 4, 5}
print(A.union(B, C))
  • Intersección: encuentra los elementos comunes de dos o más conjuntos, es decir, los elementos que pertenecen a todos ellos.

Intersección de conjuntos en Python

python
A = {1, 2, 3}
B = {2, 3, 4}
C = {3, 4, 5}
print(A.intersection(B, C))
  • Diferencia: elimina los elementos de un conjunto de otro conjunto, es decir, los elementos que pertenecen únicamente al primer conjunto.

Diferencia de conjuntos en Python

python
A = {1, 2, 3}
B = {2, 3, 4}

A.difference(B)
  • Diferencia simétrica: encuentra los elementos que pertenecen exactamente a uno de los dos conjuntos, es decir, los elementos que no son comunes a ambos conjuntos.

Diferencia simétrica de conjuntos en Python

python
A = {1, 2, 3}
B = {2, 3, 4}

print(A.symmetric_difference(B))
  • Subconjunto y superconjunto: verifica si un conjunto es subconjunto o superconjunto de otro, es decir, si todos los elementos del primer conjunto también están en el segundo conjunto, o viceversa.

Subconjunto y superconjunto en Python

python
A = {1, 2, 3}
B = {2, 3, 4}
C = {3, 4, 5}
print(A.issubset(B))
# False
print(A.issubset(A.union(B)))
# True
print(A.issuperset(B))
# False
print(A.union(B).issuperset(A))
# True

Modificación de conjuntos

Los conjuntos son objetos mutables, lo que significa que puedes agregar o eliminar elementos de ellos, o actualizarlos con los elementos de otros conjuntos. Los métodos más comunes para modificar conjuntos son:

  • Add: inserta un nuevo elemento en el conjunto, si aún no está presente.

Agregar elemento a un conjunto en Python

python
A = {1, 2, 3}

A.add(0)
print(A)
  • Remove: elimina un elemento del conjunto, generando un KeyError si no está presente.

Eliminar elemento de una lista en Python

python
A = {0, 1, 2, 3}

A.remove(0)
print(A)
  • Discard: elimina un elemento del conjunto, sin generar un error si no está presente.

Descartar elemento de una lista en Python

python
A = {0, 1, 2, 3}
A.discard(0)
print(A)
  • Pop: elimina y devuelve un elemento arbitrario del conjunto, generando un KeyError si está vacío.

Extraer elemento de un conjunto en Python

python
A = {1, 2, 3}

A.pop()
print(A)
  • Update: agrega los elementos de uno o más conjuntos al conjunto, ignorando los duplicados.

Actualizar un conjunto con otro en Python

python
A = {1, 2, 3}
B = {2, 3, 4}
A.update(B)
print(A)
  • Clear: elimina todos los elementos del conjunto, dejándolo vacío.

Vaciar un conjunto en Python

python
A = {1, 2, 3}
A.clear()
print(A)

Resumen de métodos de conjuntos

Aquí tienes un resumen de los métodos de conjuntos que hemos cubierto en este artículo:

Nombre del métodoDescripción
union(*others)Devuelve un nuevo conjunto con la unión del conjunto actual y uno o más conjuntos adicionales.
intersection(*others)Devuelve un nuevo conjunto con la intersección del conjunto actual y uno o más conjuntos adicionales.
difference(*others)Devuelve un nuevo conjunto con la diferencia del conjunto actual y uno o más conjuntos adicionales.
symmetric_difference(other)Devuelve un nuevo conjunto con la diferencia simétrica del conjunto actual y otro conjunto.
issubset(other)Devuelve True si el conjunto actual es un subconjunto de otro conjunto.
issuperset(other)Devuelve True si el conjunto actual es un superconjunto de otro conjunto.
add(elem)Agrega un elemento al conjunto actual.
remove(elem)Elimina un elemento del conjunto actual, generando un error si no está presente.
discard(elem)Elimina un elemento del conjunto actual, sin generar un error si no está presente.
pop()Elimina y devuelve un elemento arbitrario del conjunto actual, generando un error si está vacío.
update(*others)Agrega los elementos de uno o más conjuntos adicionales al conjunto actual.

Práctica

¿Cuáles de las siguientes son métodos que se pueden usar en conjuntos en Python?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.