python中set和frozenset(不可变集合)的区别:
set无序排序且不重复,是可变的,有add(),remove()等方法。不存在哈希值。基本功能包括关系测试和消除重复元素。集合对象还支持union(联合),intersection(交集),difference(差集)和sysmmetric difference(对称差集)等数学运算。
set支持x in set,len(set)和for x in set。作为无序的集合,set不记录元素位置或者插入点。因此,set不支持indexing,或者其他类序列的操作。
frozenset是冻结的集合,它是不可变的,存在哈希值,好处是它可以作为字典的key,也可以作为其他集合的元素。缺点是一旦创建便不能改变,没有add,remove方法。