Puedes ejecutar cualquier ejemplo de esta guía directamente en nuestra consola interactiva: Abrir consola de Python →
Python para principiantes: conjuntos (sets)
Los conjuntos (set) son estructuras de datos que almacenan elementos
sin duplicados y sin orden específico.
Son ideales para eliminar repetidos, comprobar pertenencia y realizar operaciones matemáticas como uniones o intersecciones.
Tabla de contenidos
1. Crear conjuntos
Los conjuntos se crean usando llaves {} o la función set().
frutas = {"manzana", "pera", "uva"}
print(frutas)
También puedes convertir una lista en un conjunto:
lista = [1, 2, 2, 3, 3, 4]
conjunto = set(lista)
print(conjunto) # {1, 2, 3, 4}
2. Características principales
- No tienen orden.
- No permiten elementos duplicados.
- Son muy rápidos para comprobar pertenencia (
in). - Son mutables.
3. Métodos importantes
frutas.add("naranja") # Añadir
frutas.remove("pera") # Eliminar (error si no existe)
frutas.discard("kiwi") # Eliminar sin error
frutas.clear() # Vaciar conjunto
4. Operaciones entre conjuntos
Los conjuntos permiten operaciones matemáticas muy útiles:
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b) # Unión
print(a & b) # Intersección
print(a - b) # Diferencia
print(a ^ b) # Diferencia simétrica
5. Ejemplos prácticos
# Eliminar duplicados de una lista
numeros = [1, 2, 2, 3, 3, 4]
print(set(numeros))
# Comprobar pertenencia
frutas = {"manzana", "pera", "uva"}
print("pera" in frutas)
# Intersección de usuarios
usuarios_web = {"ana", "carlos", "maria"}
usuarios_app = {"carlos", "maria", "juan"}
print(usuarios_web & usuarios_app)
6. Ejercicios para practicar
- Crea un conjunto con 5 números.
- Añade un elemento nuevo.
- Elimina un elemento.
- Convierte una lista con duplicados en un conjunto.
- Comprueba si un elemento está en el conjunto.
- Realiza una unión entre dos conjuntos.
- Realiza una intersección.
- Realiza una diferencia.
- Realiza una diferencia simétrica.
- Vacía un conjunto.
# Ejercicio 1
numeros = {1, 2, 3, 4, 5}
# Ejercicio 2
numeros.add(6)
# Ejercicio 3
numeros.discard(3)
# Ejercicio 4
lista = [1, 1, 2, 3]
print(set(lista))
# Ejercicio 5
print(2 in numeros)
# Ejercicio 6
a = {1, 2}
b = {2, 3}
print(a | b)
# Ejercicio 7
print(a & b)
# Ejercicio 8
print(a - b)
# Ejercicio 9
print(a ^ b)
# Ejercicio 10
numeros.clear()
7. Mini‑proyecto: Detectar usuarios duplicados
usuarios = ["ana", "carlos", "ana", "maria", "carlos"]
unicos = set(usuarios)
print("Usuarios únicos:")
for u in unicos:
print("-", u)
8. Errores comunes
- Intentar acceder por índice (los sets no tienen orden).
- Usar métodos de listas como
appendoinsert. - Confundir conjuntos con diccionarios (ambos usan llaves).
- Olvidar que los elementos deben ser inmutables.
9. Preguntas frecuentes
¿Los sets mantienen el orden?
No, los conjuntos no tienen orden.
¿Puedo tener listas dentro de un set?
No, solo elementos inmutables como números, cadenas o tuplas.