You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中向集合(set)添加子集?解决添加集合报错问题

Python中向集合添加子集的正确方法

Python的集合要求内部元素必须是**可哈希(hashable)**的类型,普通集合(set)是可变的,不可哈希,所以直接用add()添加普通集合会触发TypeError: unhashable type: 'set'错误。以下是两种正确的解决方式:

  • 使用不可变集合(frozenset):frozenset是不可变的可哈希类型,适合作为集合的元素

    a = {1, 2, 3, 4, 5}
    a.add(frozenset({10, 11, 12}))
    print(a)  # 输出: {1, 2, 3, 4, 5, frozenset({10, 11, 12})}
    
  • 转为元组添加:元组是不可变可哈希类型,和你之前尝试的方式一致

    a = {1, 2, 3, 4, 5}
    a.add((10, 11, 12))
    print(a)  # 输出: {1, 2, 3, 4, 5, (10, 11, 12)}
    

另外,如果你的需求是把子集的元素合并到原集合中(而不是把子集作为单个元素添加),应该用update()方法:

a = {1, 2, 3, 4, 5}
a.update({10, 11, 12})
print(a)  # 输出: {1, 2, 3, 4, 5, 10, 11, 12}

内容的提问来源于stack exchange,提问作者lasha tlasha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 13:01:07