CodeGym /Cursos /Python SELF ES /Conjunto inmutable — frozenset

Conjunto inmutable — frozenset

Python SELF ES
Nivel 10 , Lección 6
Disponible

8.1 set-tuple

La colección frozenset es el análogo inmutable del set. Ofrece todas las funcionalidades de un conjunto, pero no permite modificar sus elementos después de su creación. frozenset es útil en situaciones donde se necesita almacenar elementos únicos y garantizar que el conjunto no será modificado.

Creación de frozenset

Para crear un frozenset puedes usar la función frozenset(), pasándole un objeto iterable (lista, tupla, cadena, etc.).

Ejemplos:

Creación de frozenset a partir de una lista


# Creación de frozenset a partir de una lista
fset1 = frozenset([1, 2, 3, 4])
print(fset1)  # Salida: frozenset({1, 2, 3, 4})

Creación de frozenset a partir de una cadena


# Creación de frozenset a partir de una cadena
fset2 = frozenset("hello")
print(fset2)  # Salida: frozenset({'h', 'e', 'l', 'o'})

Creación de un frozenset vacío


# Creación de un frozenset vacío
fset3 = frozenset()
print(fset3)  # Salida: frozenset()
        

8.2 Métodos principales de frozenset

frozenset soporta la mayoría de los métodos disponibles para los conjuntos mutables (set), pero como es inmutable, los métodos que modifican el conjunto no están disponibles.

Ejemplos:

Unión de conjuntos (union)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# Unión de conjuntos (union)
print(fset1 | fset2)  # Salida: frozenset({1, 2, 3, 4, 5, 6})
print(fset1.union(fset2))  # Salida: frozenset({1, 2, 3, 4, 5, 6})
        

Intersección de conjuntos (intersection)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# Intersección de conjuntos (intersection)
print(fset1 & fset2)  # Salida: frozenset({3, 4})
print(fset1.intersection(fset2))  # Salida: frozenset({3, 4})
        

Diferencia de conjuntos (difference)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# Diferencia de conjuntos (difference) 
print(fset1 - fset2)  # Salida: frozenset({1, 2})
print(fset1.difference(fset2))  # Salida: frozenset({1, 2})
        

Diferencia simétrica (symmetric difference)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# Diferencia simétrica (symmetric difference)
print(fset1 ^ fset2)  # Salida: frozenset({1, 2, 5, 6})
print(fset1.symmetric_difference(fset2))  # Salida: frozenset({1, 2, 5, 6})
        

8.3 Aplicación de frozenset

frozenset es útil en las siguientes situaciones:

Uso como clave en diccionarios:

Como frozenset es inmutable, se puede usar como clave en diccionarios.


fset1 = frozenset([1, 2, 3])
fset2 = frozenset([3, 4, 5])
        
d = {fset1: "first", fset2: "second"}
print(d)  # Salida: {frozenset({1, 2, 3}): 'first', frozenset({3, 4, 5}): 'second'}
    

Almacenamiento de conjuntos inmutables:

Si necesitas crear un conjunto de elementos únicos que no será modificado, frozenset es una excelente opción.

Seguridad de datos:

El uso de frozenset permite garantizar que los datos no serán modificados accidentalmente durante la ejecución del programa.

1
Cuestionario/control
Trabajo con cadenas, nivel 10, lección 6
No disponible
Trabajo con cadenas
Trabajo con cadenas
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION