Meaning
Creates an immutable set from an iterable, producing a hashable collection that cannot be modified after creation. This allows the set to be used as a dictionary key or as an element of another set, which requires hashability. Use frozenset when you need an immutable set that must remain constant throughout its lifetime.
Primary Function
Immutable set creation
Communicative Purpose
Enables use of a hashable set as dictionary keys or set elements.
Pattern
frozenset(iterable)
Core Structure
frozenset(...)
Função primária
Immutable set creation
Propósito comunicativo
Enables use of a hashable set as dictionary keys or set elements.
Situações de gatilho
Python API design: using a frozenset as a dictionary key for caching function results; Data processing: storing unique, hashable items in an immutable collection to prevent accidental modification; Set algebra: storing frozensets inside other frozensets to represent nested set structures.
Contextos
Found in Python standard library code, API design requiring hashable keys, and anywhere immutable collections are needed.
Padrão
frozenset(iterable)
Estrutura central
frozenset(...)
Slots de substituição
iterable: any iterable of hashable items (e.g., list, tuple, set)
Colocados típicos
- used as dictionary keys
- elements of other sets
- membership testing
Substituições comuns
- set() for mutable version
- tuple() for ordered immutable sequence
Erros comuns
Assuming mutability: attempting to add/remove elements → AttributeError: 'frozenset' object has no attribute 'add'; Using unhashable elements: inserting a list or dict inside the frozenset → TypeError: unhashable type: 'list'; Confusing with set: expecting the frozenset to be mutable → leads to bugs when code tries to modify it and fails.
Similar / contraste
set(): mutable set that allows add/remove operations; tuple(): immutable ordered sequence allowing duplicates; frozenset: immutable hashable set, suitable for dict keys.
Interferências
Coming from JavaScript: may confuse frozenset with Object → frozenset is a built-in immutable set, not a generic object; Coming from Java: expect ImmutableSet similar syntax → Python's frozenset is used directly, no need for ImmutableSet class.
Família do chunk
- set
- tuple
- frozenset
- frozenset comprehension
Nuance
Do not use frozenset when you need to modify the set after creation; Performance-wise, frozenset creation has similar overhead to set but offers hashability for dictionary keys; Boundary condition: frozenset of unhashable elements (e.g., lists) raises TypeError during construction.
Efeito pragmático
Provides a hashable set for use as dict key or set element, guaranteeing immutability
Dica de memória
Think 'frozen' set — can't melt (change)
Nota
frozenset is hashable and can serve as a dictionary key or an element of another set, but all its elements must themselves be hashable.
Upgrade path
Using frozenset of frozensets to represent nested set structures; returning frozenset from pure functions
Log in to save chunks.