Python中frozenset是什么意思?frozenset有什么用

大家在学习过python的基础数据类型以及序列相关的知识之后,就会知道集合这个序列是一个可变序列,并且集合内的元素是无序的 。但是在某些情况下我们需要用到集合的无序特点又不想它被改变,那么这个时候就需要使用到一个叫做frozenset的结构了,下文会有详细讲解 。

Python中frozenset是什么意思?frozenset有什么用

文章插图
在python之中frozenset被称之为不可变集合,它无法像创建集合那样通过花括号去创建 。不可变集合frozenset在创建是必须要使用到同名的方法去创建才可以,并且frozenset创建之后还是可以添加到普通集合之中的,示例如下:
s = set()frozen_s = frozenset('Kotlin')s.add(frozen_s)上面的代码示例就是先创建了一个普通集合s,然后又通过frozenset()函数实例化了一个不可变集合并且包括了一个元素在里面 。然后将这个不可变集合添加到了普通集合s里面,这个时候集合对象s里面包含的就是一个不可变子集合了 。
而不可变集合的唯一作用就是让集合在定义之后不会再被更改,那么普通集合s内添加了一个不可变集合frozenset对象之后还能够再添加元素吗,示例如下:
【Python中frozenset是什么意思?frozenset有什么用】sub_s = {'Python'}s.add(sub_s)普通集合s里面如果再去添加元素的话就会发生报错,因为它的特性已经被里面的不可变集合给更改了,它现在是无法进行添加、删除、修改等操作的了 。并且不可变集合frozenset在集合对象s里面的表现形式也很特殊,如下所示:
print('s集合的元素:', s)s集合的元素: {frozenset({'t', 'o', 'i', 'K', 'l', 'n'})}以上就是关于“Python中frozenset是什么意思?frozenset有什么用”的全部内容了,希望对你有所帮助 。

    推荐阅读