Qué es un set en Python
Un set es una colección de valores únicos, sin posiciones ni repetidos.
Definición
Un set (conjunto) guarda cada valor una sola vez. set(visitas) convierte una colección en valores distintos, y "Ana" in visitantes pregunta si un valor pertenece al grupo.
La intersección a & b devuelve los valores presentes en ambos conjuntos. Un set no tiene orden, así que no debes depender de cómo se imprime.
Ejemplo
visitas = ["Ana", "Leo", "Ana", "Mia"]
unicos = set(visitas)
print(len(visitas))
print(len(unicos))
print("Ana" in unicos)
print(sorted(unicos & {"Ana", "Noa"}))Al ejecutarlo, Python muestra:
4 3 True ['Ana']
Puedes copiar el ejemplo y cambiarlo en el editor Python del navegador: modificar un valor y predecir el resultado es la mejor forma de fijar el concepto.
Error frecuente
Las llaves vacías {} crean un diccionario, no un set; para un set vacío usa set(). Y si necesitas conservar repeticiones u orden, usa una lista.
Cómo se diferencia de otros conceptos
Un set se distingue de una lista en que no tiene orden ni repeticiones, y de un diccionario en que solo guarda valores, sin claves. Es la herramienta natural cuando la pregunta es «¿está o no está?» o «¿qué tienen en común estos grupos?».
Preguntas frecuentes
¿Un set conserva el orden?
No. No dependas del orden en que se imprime. Si necesitas ordenar el resultado, usa sorted().
¿Cómo elimino duplicados de una lista?
Con set(lista), teniendo en cuenta que perderás el orden y las repeticiones. Para conservar el orden de aparición, recorre la lista y añade a una lista nueva solo lo que no esté.
Dónde seguir
- Aprende el concepto paso a paso en la lección Trabaja con valores únicos usando sets.
- Lista: definición y ejemplo
- Tupla: definición y ejemplo
- Diccionario: definición y ejemplo
- Ver todos los términos del glosario