Set en Python
Set en Python
Un set (conjunto) en Python es una estructura de datos que almacena elementos únicos y no ordenados. Te explico sus características principales:
Características principales
Elementos únicos: No permite duplicados
No ordenado: Los elementos no tienen un orden específico
Mutable: Puedes añadir y eliminar elementos
No indexado: No puedes acceder a elementos por índice
Crear un set
# Método 1: Usando llaves {}
mi_set = {1, 2, 3, 4, 5}
print(mi_set) # {1, 2, 3, 4, 5}
# Método 2: Usando la función set()
otro_set = set([1, 2, 3, 2, 1]) # Los duplicados se eliminan
print(otro_set) # {1, 2, 3}
# Set vacío (¡cuidado! {} crea un diccionario)
set_vacio = set()Operaciones comunes
Añadir elementos
mi_set = {1, 2, 3}
mi_set.add(4)
print(mi_set) # {1, 2, 3, 4}
mi_set.update([5, 6, 7])
print(mi_set) # {1, 2, 3, 4, 5, 6, 7}Eliminar elementos
mi_set = {1, 2, 3, 4, 5}
mi_set.remove(3) # Elimina el elemento 3
# mi_set.remove(10) # Error si el elemento no existe
mi_set.discard(2) # Elimina el elemento 2, no da error si no existe
mi_set.discard(10) # No hace nada
elemento = mi_set.pop() # Elimina y retorna un elemento aleatorio
print(f"Elemento eliminado: {elemento}")
mi_set.clear() # Elimina todos los elementosOperaciones de conjuntos
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}
# Unión
print(A | B) # {1, 2, 3, 4, 5, 6}
print(A.union(B)) # {1, 2, 3, 4, 5, 6}
# Intersección
print(A & B) # {3, 4}
print(A.intersection(B)) # {3, 4}
# Diferencia
print(A - B) # {1, 2}
print(A.difference(B)) # {1, 2}
# Diferencia simétrica
print(A ^ B) # {1, 2, 5, 6}
print(A.symmetric_difference(B)) # {1, 2, 5, 6}Métodos útiles
mi_set = {1, 2, 3, 4}
# Verificar si un elemento existe
print(2 in mi_set) # True
print(5 in mi_set) # False
# Tamaño del set
print(len(mi_set)) # 4
# Copiar un set
copia_set = mi_set.copy()
# Verificar subconjuntos
A = {1, 2}
B = {1, 2, 3, 4}
print(A.issubset(B)) # True
print(B.issuperset(A)) # TrueCasos de uso comunes
Eliminar duplicados de una lista
lista_con_duplicados = [1, 2, 2, 3, 4, 4, 5]
lista_sin_duplicados = list(set(lista_con_duplicados))
print(lista_sin_duplicados) # [1, 2, 3, 4, 5]Verificar elementos únicos
palabras = ["hola", "mundo", "hola", "python"]
palabras_unicas = set(palabras)
print(palabras_unicas) # {'hola', 'mundo', 'python'}Set vs List vs Tuple
| Característica | Set | List | Tuple |
|---|---|---|---|
| Ordenado | ❌ | ✅ | ✅ |
| Mutable | ✅ | ✅ | ❌ |
| Permite duplicados | ❌ | ✅ | ✅ |
| Indexado | ❌ | ✅ | ✅ |
Los sets son especialmente útiles cuando necesitas:
Eliminar duplicados
Verificar pertenencia rápidamente
Realizar operaciones matemáticas de conjuntos
Comentarios
Publicar un comentario