首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python中set和frozenset方法和区别

    set(可变集合)与frozenset(不可变集合)的区别:set无序排序且不重复,是可变的,有add(),remove()等方法。既然是可变的,所以它不存在哈希值。...frozenset是冻结的集合,它是不可变的,存在哈希值,好处是它可以作为字典的key,也可以作为其它集合的元素。缺点是一旦创建便不能更改,没有add,remove方法。...一、集合的创建set()和 frozenset()工厂函数分别用来生成可变和不可变的集合。如果不提供任何参数,默认会生成空集合。...AttributeError: 'frozenset' object has no attribute 'add'三、成员关系 (in, not in) >>> 'k' in s False >>> '...(左操作数是 set,右操作数是 frozenset,或相反情况),则所产生的结果类型与左操作数的类型相同。

    44920

    Python frozenset 集合详解:不可变集合的终极指南

    一、frozenset 本质解析 1.1 集合的双重性格 Python集合体系呈现清晰的层级关系: MutableSet├─ set└─ frozenset set:可变集合,支持增删改操作 frozenset...1.2 不可变性的三重保障 哈希稳定性:frozenset 实例的哈希值在其生命周期内保持不变 内存驻留:Python会缓存小整数和短字符串,frozenset 也享受此优化 线程安全:天然免疫多线程环境下的竞态条件...([1, 2, 3]) # 集合转换s = {1, 2, 3}fs2 = frozenset(s) # 空集合empty_fs = frozenset() 2.2 集合运算全览 操作 示例 说明 并集...`fs1 fs2` 交集 fs1 & fs2 返回新frozenset 差集 fs1 - fs2 返回新frozenset 对称差集 fs1 ^ fs2 返回新frozenset 子集判断 fs1 frozenset(['language', 'region']): 'en_US'} # 安全查询key = frozenset

    24110
    领券