CodeGym /Cursos /Python SELF PT /Conjunto imutável — frozenset

Conjunto imutável — frozenset

Python SELF PT
Nível 10 , Lição 6
Disponível

8.1 Tupla de set

A coleção frozenset é um análogo imutável do set. Ela oferece todas as funcionalidades de um conjunto, mas não permite alterar seus elementos após a criação. frozenset é útil em situações em que é necessário armazenar elementos únicos e garantir que o conjunto não será modificado.

Criação de frozenset

Para criar um frozenset, você pode usar a função frozenset(), passando para ela um objeto iterável (lista, tupla, string etc.).

Exemplos:

Criação de frozenset a partir de uma lista


# Criação de frozenset a partir de uma lista
fset1 = frozenset([1, 2, 3, 4])
print(fset1)  # Saída: frozenset({1, 2, 3, 4})

Criação de frozenset a partir de uma string


# Criação de frozenset a partir de uma string
fset2 = frozenset("hello")
print(fset2)  # Saída: frozenset({'h', 'e', 'l', 'o'})

Criação de frozenset vazio


# Criação de frozenset vazio
fset3 = frozenset()
print(fset3)  # Saída: frozenset()
        

8.2 Principais métodos frozenset

frozenset suporta a maioria dos métodos disponíveis para conjuntos mutáveis (set), mas como ele é imutável, métodos que alteram o conjunto não estão disponíveis.

Exemplos:

União de conjuntos (union)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# União de conjuntos (union)
print(fset1 | fset2)  # Saída: frozenset({1, 2, 3, 4, 5, 6})
print(fset1.union(fset2))  # Saída: frozenset({1, 2, 3, 4, 5, 6})
        

Interseção de conjuntos (intersection)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# Interseção de conjuntos (intersection)
print(fset1 & fset2)  # Saída: frozenset({3, 4})
print(fset1.intersection(fset2))  # Saída: frozenset({3, 4})
        

Diferença de conjuntos (difference)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# Diferença de conjuntos (difference) 
print(fset1 - fset2)  # Saída: frozenset({1, 2})
print(fset1.difference(fset2))  # Saída: frozenset({1, 2})
        

Diferença simétrica (symmetric difference)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# Diferença simétrica (symmetric difference)
print(fset1 ^ fset2)  # Saída: frozenset({1, 2, 5, 6})
print(fset1.symmetric_difference(fset2))  # Saída: frozenset({1, 2, 5, 6})
        

8.3 Aplicação de frozenset

frozenset é útil nas seguintes situações:

Uso como chave em dicionários:

Como frozenset é imutável, ele pode ser usado como chave em dicionários.


fset1 = frozenset([1, 2, 3])
fset2 = frozenset([3, 4, 5])
        
d = {fset1: "primeiro", fset2: "segundo"}
print(d)  # Saída: {frozenset({1, 2, 3}): 'primeiro', frozenset({3, 4, 5}): 'segundo'}
    

Armazenamento de conjuntos imutáveis:

Se for necessário criar um conjunto de elementos únicos que não será modificado, frozenset é uma ótima escolha.

Segurança dos dados:

Usar frozenset garante que os dados não serão alterados acidentalmente durante a execução do programa.

1
Pesquisa/teste
Trabalhando com Strings, nível 10, lição 6
Indisponível
Trabalhando com Strings
Trabalhando com Strings
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION