❄️ Frozenset Data Type
Last Updated: 17th August 2025
- A frozenset is an immutable version of a set.
- Once created, you cannot add or remove elements.
- Useful when you need a set as a dictionary key or to store in another set.
- Supports set operations like union, intersection, difference, subset, superset.
Hinglish Tip 🗣: Frozenset ko samjho jaise ek locked bag — items unique hain aur unordered hain, lekin ab koi cheez usme add ya remove nahi kar sakte.
✏ Creating Frozensets
# from list
fs = frozenset([1,2,3,4])
# from tuple
fs2 = frozenset((5,6,7))
# from set
s = {8,9,10}
fs3 = frozenset(s)
📖 More on Frozensets
| Method / Operation | Example | Description |
|---|---|---|
| union() | fs.union(fs2) | Returns a new frozenset with all elements from both frozensets. |
| intersection() | fs.intersection(fs2) | Returns a new frozenset with elements common to both. |
| difference() | fs.difference(fs2) | Returns a new frozenset with elements in fs but not in fs2. |
| issubset() | fs.issubset(fs2) | Checks if fs is subset of fs2. Returns True/False. |
| issuperset() | fs.issuperset(fs2) | Checks if fs contains all elements of fs2. Returns True/False. |
| copy() | fs2 = fs.copy() | Returns a shallow copy of frozenset. |
Examples::
fs1 = frozenset([1,2,3])
fs2 = frozenset([3,4,5])
# Union
print(fs1.union(fs2)) # frozenset({1,2,3,4,5})
# Intersection
print(fs1.intersection(fs2)) # frozenset({3})
# Difference
print(fs1.difference(fs2)) # frozenset({1,2})
# Subset / Superset
print(fs1.issubset(fs2)) # False
print(fs2.issuperset(fs1)) # False
# Copy
fs3 = fs1.copy()
print(fs3) # frozenset({1,2,3})