Conjuntos en Python: creación, métodos y operaciones básicas
Clase 24 de 32 • Curso 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)) #
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))#
¿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.