CodeGym /Corsi /Python SELF IT /Insieme immutabile — frozenset

Insieme immutabile — frozenset

Python SELF IT
Livello 10 , Lezione 6
Disponibile

8.1 set-tuple

La collezione frozenset è un analogo immutabile di set. Fornisce tutte le funzionalità di un insieme, ma non permette di modificarne gli elementi dopo la creazione. frozenset è utile in situazioni dove è necessario memorizzare elementi unici e garantire che l'insieme non venga modificato.

Creazione di un frozenset

Per creare un frozenset si può utilizzare la funzione frozenset(), passando un oggetto iterabile (lista, tupla, stringa, ecc.).

Esempi:

Creazione di un frozenset da una lista


# Creazione di frozenset da una lista
fset1 = frozenset([1, 2, 3, 4])
print(fset1)  # Output: frozenset({1, 2, 3, 4})

Creazione di un frozenset da una stringa


# Creazione di frozenset da una stringa
fset2 = frozenset("hello")
print(fset2)  # Output: frozenset({'h', 'e', 'l', 'o'})

Creazione di un frozenset vuoto


# Creazione di frozenset vuoto
fset3 = frozenset()
print(fset3)  # Output: frozenset()
        

8.2 Metodi principali di frozenset

frozenset supporta la maggior parte dei metodi disponibili per gli insiemi mutabili (set), ma poiché è immutabile, i metodi che modificano l'insieme non sono disponibili.

Esempi:

Unione degli insiemi (union)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# Unione degli insiemi (union)
print(fset1 | fset2)  # Output: frozenset({1, 2, 3, 4, 5, 6})
print(fset1.union(fset2))  # Output: frozenset({1, 2, 3, 4, 5, 6})
        

Intersezione degli insiemi (intersection)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# Intersezione degli insiemi (intersection)
print(fset1 & fset2)  # Output: frozenset({3, 4})
print(fset1.intersection(fset2))  # Output: frozenset({3, 4})
        

Differenza degli insiemi (difference)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# Differenza degli insiemi (difference) 
print(fset1 - fset2)  # Output: frozenset({1, 2})
print(fset1.difference(fset2))  # Output: frozenset({1, 2})
        

Differenza simmetrica (symmetric difference)


fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
            
# Differenza simmetrica (symmetric difference)
print(fset1 ^ fset2)  # Output: frozenset({1, 2, 5, 6})
print(fset1.symmetric_difference(fset2))  # Output: frozenset({1, 2, 5, 6})
        

8.3 Applicazione di frozenset

frozenset è utile nei seguenti casi:

Uso come chiave nei dizionari:

Poiché frozenset è immutabile, può essere utilizzato come chiave nei dizionari.


fset1 = frozenset([1, 2, 3])
fset2 = frozenset([3, 4, 5])
        
d = {fset1: "primo", fset2: "secondo"}
print(d)  # Output: {frozenset({1, 2, 3}): 'primo', frozenset({3, 4, 5}): 'secondo'}
    

Memorizzazione di insiemi immutabili:

Se è necessario creare un insieme di elementi unici che non sarà modificato successivamente, frozenset — è un'ottima scelta.

Sicurezza dei dati:

L'uso di frozenset garantisce che i dati non vengano modificati accidentalmente nel corso dell'esecuzione del programma.

1
Sondaggio/quiz
Lavorare con le stringhe, livello 10, lezione 6
Non disponibile
Lavorare con le stringhe
Lavorare con le stringhe
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION