8.1 tuple set
La collection frozenset
— c'est une version immuable de set
. Elle offre toutes les fonctionnalités d'un ensemble, mais ne permet pas de modifier ses éléments après sa création. frozenset
est utile dans les situations où il est nécessaire de stocker des éléments uniques et de garantir que l'ensemble ne sera pas modifié.
Création d'un frozenset
Pour créer un frozenset
, tu peux utiliser la fonction frozenset()
, en lui passant un objet itérable (liste, tuple, chaîne, etc.).
Exemples :
Création d'un frozenset
à partir d'une liste
# Création d'un frozenset à partir d'une liste
fset1 = frozenset([1, 2, 3, 4])
print(fset1) # Résultat: frozenset({1, 2, 3, 4})
Création d'un frozenset
à partir d'une chaîne
# Création d'un frozenset à partir d'une chaîne
fset2 = frozenset("hello")
print(fset2) # Résultat: frozenset({'h', 'e', 'l', 'o'})
Création d'un frozenset
vide
# Création d'un frozenset vide
fset3 = frozenset()
print(fset3) # Résultat: frozenset()
8.2 Principales méthodes de frozenset
frozenset
prend en charge la plupart des méthodes disponibles pour les ensembles modifiables (set)
, mais comme il est immuable, les méthodes qui modifient l'ensemble ne sont pas disponibles.
Exemples :
Union d'ensembles (union)
fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
# Union d'ensembles (union)
print(fset1 | fset2) # Résultat: frozenset({1, 2, 3, 4, 5, 6})
print(fset1.union(fset2)) # Résultat: frozenset({1, 2, 3, 4, 5, 6})
Intersection d'ensembles (intersection)
fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
# Intersection d'ensembles (intersection)
print(fset1 & fset2) # Résultat: frozenset({3, 4})
print(fset1.intersection(fset2)) # Résultat: frozenset({3, 4})
Différence d'ensembles (difference)
fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
# Différence d'ensembles (difference)
print(fset1 - fset2) # Résultat: frozenset({1, 2})
print(fset1.difference(fset2)) # Résultat: frozenset({1, 2})
Différence symétrique (symmetric difference)
fset1 = frozenset([1, 2, 3, 4])
fset2 = frozenset([3, 4, 5, 6])
# Différence symétrique (symmetric difference)
print(fset1 ^ fset2) # Résultat: frozenset({1, 2, 5, 6})
print(fset1.symmetric_difference(fset2)) # Résultat: frozenset({1, 2, 5, 6})
8.3 Utilisation de frozenset
frozenset
est utile dans les situations suivantes :
Utilisation comme clé dans les dictionnaires :
Étant donné que frozenset
est immuable, il peut être utilisé comme une clé dans les dictionnaires.
fset1 = frozenset([1, 2, 3])
fset2 = frozenset([3, 4, 5])
d = {fset1: "first", fset2: "second"}
print(d) # Résultat: {frozenset({1, 2, 3}): 'first', frozenset({3, 4, 5}): 'second'}
Stockage d'ensembles immuables :
Si tu as besoin de créer un ensemble d'éléments uniques qui ne sera pas modifié par la suite, frozenset
est un excellent choix.
Sécurité des données :
L'utilisation de frozenset
permet de garantir que les données ne seront pas modifiées accidentellement pendant l'exécution du programme.
GO TO FULL VERSION