📍 Inicio > Fundamentos > Clase 06
Un set es como una bolsa mágica donde cada cosa aparece solo una vez. Cuando limpias datos, buscas pertenencia rápida o quieres operaciones de teoría de conjuntos, set es tu mejor aliado.
- Elimina duplicados de forma simple.
- Búsqueda de pertenencia
in/not inmuy eficiente. - Operaciones potentes: unión
|, intersección&, diferencia-, diferencia simétrica^.
nums = {1, 2, 3, 3, 2}
print(nums) # {1, 2, 3} sin duplicados
nums.add(4) # añadir
nums.add(2) # no añade duplicado
print(nums)
nums.remove(3) # elimina existente (lanza `KeyError` si no está)
nums.discard(99) # elimina si existe (no lanza error)
print(nums)
# Operaciones de conjuntos
pares = {2, 4, 6}
impares = {1, 3, 5}
print(nums | pares) # unión
print(nums & pares) # intersección
print(nums - {1, 4}) # diferencia
print(pares ^ impares) # diferencia simétrica
# Conversión
lista = [1, 2, 2, 3, 3, 4]
unicos = set(lista) # quitar duplicados
print(unicos)
print(2 in unicos) # pertenencia- Dada una lista de emails con duplicados y mayúsculas/minúsculas mezcladas, normaliza (
lower()), elimina duplicados y cuenta cuántos únicos quedan. - Muestra la intersección entre dos grupos de emails.
- Crear:
{},set(iterable)(ojo:{}creadict, para set vacío usaset()) - Añadir/eliminar:
.add(x),.remove(x),.discard(x),.pop() - Limpieza:
.clear() - Operaciones:
a | b(unión),a & b(intersección),a - b(diferencia),a ^ b(diferencia simétrica) - Pertenencia:
in,not in - Conversión:
list(set(lista))para quitar duplicados preservando luego con cuidado el orden si lo reconstruyes
- Usar
{}esperando un set vacío: crea undict; usaset(). .remove(x)sobre elemento inexistente lanzaKeyError; si no estás seguro, usa.discard(x).- Conjuntos no mantienen orden; no los uses cuando el orden sea importante.
- Ejecuta
Basic/06_sets.pypara ver las demos.
- Código de referencia:
Basic/06_sets.py
- Limpias duplicados, pruebas pertenencia y combinas conjuntos con claridad y seguridad.
- Clase 07: diccionarios (
dict), pares clave-valor muy versátiles.
⬅️ Anterior: Clase 05 - Tuplas | ⏭️ Siguiente: Clase 07 - Diccionarios | 🏠 Volver al Índice