Categorías
Curso Python

Sets en Python

Los sets (conjuntos) en Python son una colección desordenada de elementos únicos. Son mutables, lo que significa que se pueden modificar después de su creación, pero no permiten valores duplicados. A continuación, exploraremos cómo trabajar con sets en Python con un ejemplo:

Definición y Tipos de Sets

Definición de Sets Vacíos:

mi_set = set()
mi_otro_set = {}
print(type(mi_set))
print(type(mi_otro_set))  # Ahora mismo es un diccionario

set() define un set vacío.
{} define un diccionario vacío. Para definir un set vacío, se debe usar set().
Ejemplo adicional:

mi_nuevo_set_vacio = set()
print(mi_nuevo_set_vacio)

Inicialización de Sets con Elementos:

mi_otro_set = {"Laura", "González", 28, 1.75}
print(type(mi_otro_set))
print(len(mi_otro_set))

Propiedades de los Sets

Acceso y Modificación:

# print(mi_otro_set[0])
# Da un error porque los sets no soportan indexación

Los sets no tienen un orden definido, por lo que no se puede acceder a sus elementos por índice.


Agregar Elementos:

mi_otro_set.add("verde")
print(mi_otro_set)

add() agrega un elemento al set. Si el elemento ya existe, no se agregará de nuevo.
Ejemplo adicional:

mi_set_de_colores = {"rojo", "azul"}
mi_set_de_colores.add("verde")
print(mi_set_de_colores)

Verificar Existencia de Elementos:

print("González" in mi_otro_set)
print("Pérez" in mi_otro_set)

Se puede verificar si un elemento existe en el set usando el operador in.
Ejemplo adicional:

print("Carlos" in mi_set_de_varios_tipos)

Eliminar Elementos:

mi_otro_set.remove("verde")
print(mi_otro_set)

remove() elimina un elemento del set. Si el elemento no existe, arrojará un error.
Ejemplo adicional:

mi_set_de_numeros = {1, 2, 3, 4, 5}
mi_set_de_numeros.remove(3)
print(mi_set_de_numeros)

Conversión y Operaciones con Sets

Conversión de Set a Lista:

mi_set = {"Ana", "Martínez", 30}
mi_lista = list(mi_set)
print(mi_lista)
print(mi_lista[0])

Los sets se pueden convertir en listas utilizando list(). Esto permite acceder a los elementos por índice.
Ejemplo adicional:

mi_set_de_animales = {"perro", "gato", "ratón"}
mi_lista_de_animales = list(mi_set_de_animales)
print(mi_lista_de_animales)

Unión de Sets:

mi_otro_set = {"Java", "Kotlin", "Python"}
mi_nuevo_set = mi_set.union(mi_otro_set)
print(mi_nuevo_set)

union() devuelve un nuevo set con los elementos de ambos sets, sin duplicados.
Ejemplo adicional:

set1 = {"manzana", "banana"}
set2 = {"banana", "cereza"}
set_union = set1.union(set2)
print(set_union)

Diferencia de Sets:

print(mi_nuevo_set.difference(mi_set))
print(mi_nuevo_set.difference({"Java"}))

difference() devuelve un nuevo set con los elementos que están en el primer set pero no en el segundo.
Ejemplo adicional:

set3 = {"a", "b", "c"}
set4 = {"b", "c", "d"}
set_difference = set3.difference(set4)
print(set_difference)

Vaciar y Eliminar Sets:

mi_otro_set.clear()
print(mi_otro_set)
# Vacía el set

# del mi_otro_set
# Borra el set

clear() elimina todos los elementos del set, dejándolo vacío.
del elimina la variable del set completamente.
Ejemplo adicional:

mi_set_para_vaciar = {1, 2, 3}
mi_set_para_vaciar.clear()
print(mi_set_para_vaciar)

mi_set_para_borrar = {4, 5, 6}
del mi_set_para_borrar
# print(mi_set_para_borrar)  # Esto arrojará un error porque la variable ya no existe

Conclusión
Los sets en Python son una estructura de datos útil para almacenar colecciones de elementos únicos y realizar operaciones matemáticas como unión y diferencia. Son desordenados y mutables, permitiendo agregar y eliminar elementos de manera eficiente. Comprender cómo usar sets es esencial para manejar datos de manera efectiva en Python.