❄️ 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 / OperationExampleDescription
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})