Python FrozenSet
The frozenset()
is an inbuilt function is Python which takes an iterable object as input and makes them immutable. Simply it freezes the iterable objects and makes them unchangeable.
In Python, frozenset is same as set except its elements are immutable. This function takes input as any iterable object and converts them into immutable object. The order of element is not guaranteed to be preserved.
Example #1:
If no parameters are passed to frozenset()
function then it returns a empty frozenset type object.
# Python program to understand frozenset() function
# tuple of numbers
nu = (1, 2, 3, 4, 5, 6, 7, 8, 9)
# converting tuple to frozenset
fnum = frozenset(nu)
# printing details
print("frozenset Object is : ", fnum)
Output:
frozenset Object is : frozenset({1, 2, 3, 4, 5, 6, 7, 8, 9})
Example #2: Uses of frozenset()
.
Since frozenset object are immutable they are mainly used as key in dictionary or elements of other sets. Below example explains it cle
# creating a dictionary
Student = {"name": "Ankit", "age": 21, "sex": "Male",
"college": "MNNIT Allahabad", "address": "Allahabad"}
# making keys of dictionary as frozenset
key = frozenset(Student)
# printing keys details
print('The frozen set is:', key)
Output:
The frozen set is: frozenset({'college', 'address', 'sex', 'age', 'name'})
Example #3: Warning
If by mistake we want to change the frozenset object then it throws an error “‘frozenset’ object does not support item assignment“.
# Python program to understand
# use of frozenset function
# creating a list
favourite_subject = ["OS", "DBMS", "Algo"]
# making it frozenset type
f_subject = frozenset(favourite_subject)
# below line will generate error
f_subject[1] = "Networking"
Output:
Traceback (most recent call last): File "/home/0fbd773df8aa631590ed0f3f865c1437.py", line 12, in f_subject[1] = "Networking" TypeError: 'frozenset' object does not support item assignment
Example 4-
Set & Frozenset keeps only the unique values
a = frozenset((1,2,3,3))
b = (1,2,3,3)
print(a, b) # {1, 2, 3} / (1, 2, 3, 3)
Last updated
Was this helpful?