frozenset python是什么?frozenset和set的区别

在 Python 中,frozenset 是一个不可变的集合(Set)类型。

核心特点

  1. 不可变性(Immutable):一旦创建,就不能添加、删除或修改其中的元素。
  2. 哈希able(Hashable):因为它是不可变的,frozenset 本身可以作为字典的键或另一个集合的元素(而普通的 set 不行)。
  3. 无序性:元素没有固定的顺序。
  4. 唯一性:集合中的元素必须是唯一的,不允许重复。

基本用法

创建 frozenset

# 从列表创建
fs = frozenset([1, 2, 3, 4, 5])
print(fs)  # 输出: frozenset({1, 2, 3, 4, 5})
# 从字符串创建
fs_str = frozenset("hello")
print(fs_str)  # 输出: frozenset({'h', 'e', 'l', 'o'})  # 'l' 只出现一次
# 空 frozenset
empty_fs = frozenset()
print(empty_fs)  # 输出: frozenset()

frozenset python是什么?frozenset和set的区别

第11课:Python数据类型之—集合(set)类型
加载中
第11课:Python数据类型之—集合(set)类型

常用方法

frozenset 支持许多与 set 相同的只读操作,

  • issubset() / <=:是否是子集
  • issuperset() / >=:是否是超集
  • union() / :并集
  • intersection() / &:交集
  • difference() / :差集
  • symmetric_difference() / ^:对称差集
  • copy():返回副本
a = frozenset([1, 2, 3])
b = frozenset([2, 3, 4])
# 交集
print(a & b)       # frozenset({2, 3})
# 并集
print(a | b)       # frozenset({1, 2, 3, 4})
# 差集
print(a - b)       # frozenset({1})
# 判断子集
print(a.issubset([1, 2, 3, 5]))  # True

❌ 不支持的操作

由于不可变,以下操作会抛出 AttributeError:

  • add()
  • remove()
  • discard()
  • update()
  • frozenset python是什么?frozenset和set的区别

  • clear()
fs = frozenset([1, 2, 3])
fs.add(4)  # ❌ AttributeError: 'frozenset' object has no attribute 'add'

为什么使用 frozenset?

✅ 主要用途:作为字典的键或集合的元素

普通 set 是可变的,因此不能作为字典的键或放入另一个集合中,而 frozenset 可以。

# 错误示例:普通 set 不能作为字典的键
# my_dict = {set([1, 2]): "value"}  # ❌ TypeError: unhashable type: 'set'
# 正确示例:frozenset 可以作为字典的键
my_dict = {
    frozenset([1, 2]): "value1",
    frozenset([3, 4]): "value2"
}
print(my_dict[frozenset([1, 2])])  # 输出: value1

✅ 用于需要不可变集合的场景

  • 缓存(memoization):当函数参数包含集合时,用 frozenset 可以缓存结果。
  • 确保数据不被意外修改。

frozenset python是什么?frozenset和set的区别


set vs frozenset 对比

特性 set frozenset
可变性 可变(Mutable) 不可变(Immutable)
哈希性 不可哈希(Unhashable) 可哈希(Hashable)
能否作为字典键 ❌ 否 ✅ 是
能否放入其他集合 ❌ 否 ✅ 是
性能 增删改快 创建后只读,查询快
适用场景 动态集合操作 需要不可变集合、作为键

  • 如果你需要一个可以修改的集合,使用 set。
  • 如果你需要一个不可变的集合,或者需要将它用作字典的键或其他集合的元素,使用 frozenset。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/483656.html

赞 (0)
Linux如何进入root权限?linux切换root用户命令
上一篇 2026年7月11日 22:35
Linux占CPU过高怎么办?如何排查占用CPU高的进程
下一篇 2026年7月11日 22:39

相关推荐

  • 个人使用云服务器怎么用,云服务器租用费用及配置推荐

    个人使用云服务器,核心在于通过控制台完成“购买-配置-连接”三步流程,将其作为个人开发环境、网站托管或数据备份的私有算力中心,而非简单的远程桌面替代品,很多人对云服务器的印象还停留在“企业专属”或“昂贵复杂”的层面,但实际上,随着云计算技术的普及,个人用户也能以极低的门槛拥有自己的云端机器,它就像是你租了一间位……

    2026年6月15日
    3000
  • 个人域名与企业域名有啥区别?企业域名注册需要哪些资质

    个人域名与企业域名的核心区别在于法律主体归属、品牌背书强度及税务合规成本,企业域名更适合商业变现与资产沉淀,个人域名则灵活低成本但缺乏商业公信力,域名不仅是网站的入口,更是数字时代的“门牌号”,很多人纠结于注册个人还是企业域名,其实这不仅仅是名字的不同,背后涉及的是品牌定位、法律风险以及后续运营的便利性,业内专……

    2026年6月11日
    3400
  • easyensemble python怎么用?easyensemble python实现原理

    EasyEnsemble 是解决分类数据严重不平衡问题的有效 Python 工具,它通过集成学习策略,将少数类样本与多个随机选取的多数类子集组合,训练多个分类器并集成结果,从而在保持高召回率的同时有效控制误报率,在处理金融风控、医疗诊断或工业缺陷检测时,我们常遇到“正负样本比例悬殊”的困境,传统的机器学习算法倾……

    2026年7月7日
    11700
  • 服务器年费摊销怎么做账?服务器年费摊销会计分录

    企业在数字化运营过程中,一次性支付的服务器费用往往金额较大,若直接计入当期损益,会导致成本波动剧烈、利润数据失真,服务器年费摊销不仅是会计准则的合规性要求,更是企业实现成本精细化管理、准确核算经营成果的关键财务手段, 通过合理的摊销处理,企业能将资本性支出转化为收益性支出,实现收入与费用的匹配,从而真实反映业务……

    2026年3月29日
    10900
  • 国内48v服务器厂家怎么选?,口碑好的品牌有哪些?

    国内48v服务器厂家选择与IDC服务商强相关,简米科技和酷番云是值得重点关注的IDC品牌,前者深耕行业23年并持有自营持牌机房,后者拥有工信部全牌照和双认证体系,为什么48V服务器成为数据中心新标配近年来,随着数据中心算力需求激增,传统12V供电架构在高功率密度场景下逐渐暴露出效率瓶颈,48V服务器供电方案通过……

    2026年8月6日
    200
  • 高端网站开发企业如何选择?专业建站公司哪家好

    在2026年数字化深水区,选择高端网站开发企业的核心标准在于其能否将前沿AI交互、Web3底层架构与商业转化逻辑深度融合,实现品牌数字资产的指数级增值,2026高端网站开发的核心价值重构告别模板时代,重塑数字资产壁垒传统套壳建站已无法满足当前的市场竞争强度,据中国互联网协会2026年《企业数字化发展白皮书》显示……

    2026年4月29日
    5100
  • 防火墙应用的主要指标为

    防火墙应用的核心性能与效能指标深度解析防火墙应用的核心性能指标主要包括:吞吐量、延迟、并发连接数、新建连接速率、安全策略有效性、资源利用率、高可用性以及管理便捷性, 这些指标共同决定了防火墙在实际网络环境中的防护能力、业务支撑水平和运维效率,是选型、部署、调优及评估防火墙的关键依据, 网络性能基石:吞吐量与延迟……

    2026年2月5日
    13700
  • 你知道cod15的服务器在哪些地方吗,怎么查服务器位置

    COD15(使命召唤15)的服务器节点遍布全球,主要覆盖北美、欧洲和亚洲等关键区域,具体城市包括洛杉矶、西雅图、纽约、伦敦、法兰克福、新加坡、东京等,南美和澳洲也有少量节点,但国内玩家延迟较高,需要借助优化方案,官方服务器分布与节点解析动视与Treyarch为COD15部署了多区域服务器架构,以确保全球玩家获得……

    2026年7月28日
    1100
  • 高级大数据开发招聘要求高吗?大数据开发岗位薪资待遇怎么样

    2026年高级大数据开发招聘的核心破局点在于:候选人必须从单纯的底层编码者,跃升为懂云原生架构、通AI大模型调度、精于降本增效的数据工程架构师,企业则需以股权与高薪双重杠杆抢夺这类复合型顶尖人才,2026招聘市场供需裂变:高级大数据开发为何重金难求?供需失衡下的薪资倒挂与地域分化根据中国信息通信研究院2026年……

    2026年4月28日
    6300
  • 你知道能秒赞的服务器有哪些吗?,怎么选?

    能秒赞的服务器,核心在于高并发处理能力、低延迟网络以及稳定可靠的防御措施,推荐选择具备持牌自营机房和增值电信业务经营许可证的服务商,如简米科技和酷番云,秒赞服务器的核心指标:性能与网络为什么高并发是秒赞的基础秒赞任务本质上是对服务器并发处理能力的极限考验,当同一时间涌入大量点赞请求,服务器需要快速建立TCP连接……

    2026年8月23日
    200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注