set 和 frozenset 的区别
Python 中 set 和 frozenset 有什么区别?各自适用于什么场景?
回答
苦行僧
- 可变性:set 可变,支持 add/discard/pop/clear 等修改操作;frozenset 不可变,创建后不能修改。
- 哈希性:frozenset 可哈希,可作为 dict 的 key 或 set 的元素;set 不可哈希。
- 方法:set 有增删改方法,frozenset 只有集合运算方法(union/intersection/difference 等)。
- 场景:set 用于常规的集合运算和去重;frozenset 用于需要不可变集合的场景(如 dict key、set 嵌套)。