frozenset() 不可变集合构造
最后更新:2026-09-22
frozenset() 不可变集合构造
frozenset() 返回不可变集合;元素必须是可哈希的,可哈希自身(可作 dict key)。
| 分类 | 内置函数 |
|---|---|
| 类型 | 内置函数 |
| Python 版本 | all |
📝 语法
frozenset([iterable])
⚙️ 参数
| iterable 可选 | 可迭代对象;省略时返回空 frozenset。(默认值:None) |
|---|
返回值:frozenset。不可变集合(可哈希,可作 dict 键)。
💥 异常
TypeError— 当 iterable 中存在不可哈希的元素时抛出。
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
frozenset({1, 2, 3})
{frozenset({1, 2, 3}): 'value'}
🏷️ 相关内置函数
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Qfrozenset 和 set 有什么区别?
A唯一关键区别是 frozenset 不可变(不能 add/remove/update),也因此可哈希,能作 dict 的 key 或放进另一个 set。
Q为什么 {frozenset([1,2]): 'x'} 合法而 {set([1,2]): 'x'} 报错?
Adict 的 key 必须可哈希:frozenset 不可变所以可哈希,set 可变所以不可哈希,会抛 TypeError: unhashable type: 'set'。
Qfrozenset 会去重吗?
A会,与 set 一样,frozenset([1, 2, 2, 3]) 得到 frozenset({1, 2, 3})。
Qfrozenset 能转回 set 吗?
A能,set(fs) 返回一个元素相同、可变的拷贝;反之 set 也能转 frozenset。