Conjuntos en Python: creación, métodos y operaciones básicas

Clase 24 de 32Curso de Fundamentos de Python

Resumen

Domina los conjuntos en Python con ejemplos claros y prácticos. Aprende qué es un set, cómo evitar duplicados de forma automática y cuáles son los métodos clave para agregar, buscar, eliminar y combinar elementos. Además, entiende por qué el orden no está garantizado y cómo aprovechar operaciones como unión, intersección y diferencia.

¿Qué es un conjunto (set) en Python y cómo funciona?

Un conjunto es una colección no ordenada y sin duplicados. Es ideal para asegurar unicidad y realizar operaciones de teoría de conjuntos.

  • Se define con llaves y elementos separados por comas.
  • Ignora automáticamente los duplicados al crearlo o actualizarlo.
  • Reporta el tamaño real sin contar repetidos.

Ejemplo con frutas y un duplicado:

frutas = {"manzana", "naranja", "mandarina", "naranja"} print(frutas) # {'manzana', 'naranja', 'mandarina'} (el duplicado se ignora) print(type(frutas)) # <class 'set'> print(len(frutas)) # 3

¿Cómo se comporta el orden y la mutabilidad en sets?

  • El orden de iteración es arbitrario: no te garantiza posiciones ni índices.
  • Es una estructura mutable: puedes agregar o quitar elementos.
  • No puedes modificar un elemento puntual por índice porque no hay orden.

for item in frutas: print(item) # Puede salir en cualquier orden.

¿Se pueden mezclar tipos de datos en un set?

Sí. Puedes tener strings, números y booleanos en el mismo conjunto.

conjunto = {"Python", 156, True} print(conjunto) # Orden no garantizado. print(type(conjunto))# <class 'set'>

¿Cómo agregar, buscar y eliminar elementos en sets?

Primero, verifica pertenencia con el operador in:

print("manzana" in frutas) # True print("pera" in frutas) # False

Para agregar elementos:

  • Agrega uno con add.
  • Agrega varios con update (admite otro set, una lista o una tupla).

frutas.add("pera") frutas_tropicales = {"piña", "mango"} frutas.update(frutas_tropicales) # también funciona con listas o tuplas print(frutas)

Para eliminar elementos individuales:

  • remove elimina y lanza error si el elemento no existe.
  • discard elimina y no lanza error si no existe.

frutas.remove("mango") # ok si "mango" está; error si no. frutas.discard("pera") # ok esté o no esté "pera".

¿Qué diferencia hay entre remove y discard en Python?

  • remove: exige que el elemento exista; de lo contrario, produce error.
  • discard: ignora la instrucción si el elemento no está; no hay error.
  • Úsalo según necesites estrictitud o tolerancia al eliminar.

¿Qué hace pop y clear en un set?

  • pop: elimina y devuelve un elemento aleatorio. Úsalo con cuidado si necesitas reproducibilidad.
  • clear: vacía por completo el conjunto.

eliminado = frutas.pop() # elemento al azar print(eliminado) frutas.clear() print(frutas) # set()

¿Qué operaciones entre conjuntos existen y para qué sirven?

Las operaciones clásicas de teoría de conjuntos permiten combinar y comparar colecciones de forma directa.

  • Unión: todos los elementos de ambos conjuntos, sin duplicados.
  • Intersección: solo los elementos en común.
  • Diferencia: elementos de un conjunto que no están en el otro.

A = {"A", "B", "C"} B = {"C", "D", "E"} C_union = A.union(B) # {'A', 'B', 'C', 'D', 'E'} I_inter = A.intersection(B) # {'C'} D_diff = A.difference(B) # {'A', 'B'} print(C_union) print(I_inter) print(D_diff)

¿Cómo eliminar duplicados con sets desde listas o tuplas?

Convierte a set para quitar repetidos y vuelve al tipo original si lo necesitas.

numeros = [1, 2, 2, 3, 3, 3] unicos = list(set(numeros)) print(unicos) # [1, 2, 3] (el orden puede variar)

¿Te quedó alguna duda sobre add, update, remove, discard, pop, clear o las operaciones de unión, intersección y diferencia? Comparte tu pregunta o tu caso práctico y seguimos la conversación.