Python---frozenset集合

frozenset 是 set 的不可变版本,因此 set 集合中所有能改变集合本身的方法(如 add、remove、discard、xxx_update 等),frozenset 都不支持;set 集合中不改变集合本身的方法,fronzenset 都支持。

frozenset 的作用主要有以下两点:

1、当集合元素不需要改变时,使用 frozenset 代替 set 更安全。

2、当某些 API 需要不可变对象时,必须用 frozenset 代替set。比如 dict 的 key 必须是不可变对象,因此只能用 frozenset;

再比如 set 本身的集合元素必须是不可变的,因此 set 不能包含 set,set 只能包含 frozenset。

s=set()
#创建不可变集合,使用 frozenset() 函数
frozen_s = frozenset('Kotlin')
# 为set集合添加frozenset
s.add(frozen_s)
print('s集合的元素:', s)

#创建可变集合sub_s
sub_s = {'Python'}
# 为set集合添加普通set集合,程序报错
s.add(sub_s)

运行结果为:

你可能感兴趣的:(快快乐乐学Python,Python)