frozenset() in Python (original) (raw)

Last Updated : 18 Apr, 2026

The frozenset() function in Python creates an immutable set from an iterable. It stores only unique values and does not allow modification after creation. Since it is immutable, a frozenset can be used as a dictionary key or as an element of another set.

**Example: In this example, a frozenset is created from a list:

Python `

a = frozenset(["cat", "dog", "lion"]) print("cat" in a) print("elephant" in a)

`

**Explanation:

Syntax

frozenset(iterable)

Examples

**Example 1: In this example, a frozenset is created and tried to modify it to show that it is immutable.

Python `

f = frozenset(["apple", "banana", "orange"]) print(f) f.add("grape")

`

**Output

frozenset({'banana', 'apple', 'orange'})
Traceback (most recent call last):
File "c:\Users\gfg0753\test.py", line 4, in
f.add("grape")
^^^^^
AttributeError: 'frozenset' object has no attribute 'add'

**Explanation:

**Example 2: In this example, a frozenset is created from a tuple and a list to see how duplicates are handled.

Python `

a = () f1 = frozenset(a) print(f1)

b = ["Geeks", "for", "Geeks"] f2 = frozenset(b) print(f2)

`

Output

frozenset() frozenset({'Geeks', 'for'})

**Explanation:

**Example 3: Here, a dictionary is converted into a frozenset to observe what gets stored.

Python `

d = {"name": "A", "age": 21} f = frozenset(d) print(f)

`

Output

frozenset({'name', 'age'})

**Explanation: frozenset(d) stores only dictionary keys. Values are not included in the frozenset.

Frozenset operations

A frozenset supports common set operations such as union, intersection, difference and symmetric difference. Although it is immutable, these operations return new frozenset objects without modifying the original sets.

Python `

a = frozenset([1, 2, 3, 4]) b = frozenset([3, 4, 5, 6])

c = a.copy() print(c)

print(a.union(b)) print(a.intersection(b)) print(a.difference(b)) print(a.symmetric_difference(b))

`

Output

frozenset({1, 2, 3, 4}) frozenset({1, 2, 3, 4, 5, 6}) frozenset({3, 4}) frozenset({1, 2}) frozenset({1, 2, 5, 6})

**Explanation: