Python 集合数据类型之二: fronzenset [学习 Python 必备基础知识][看此一篇就够了][fronzenset 集合概述][fronzenset 集合的使用]
您的“关注”和“点赞”,是信任,是认可,是支持,是动力......
如意见相佐,可留言。
本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新。
目录
1 fronzenset 集合概述
目前有两种内置集合类型,set
(可参见博文《Python 集合数据类型之一:set》 ) 和 frozenset
。
-
set
类型:是可变的,其内容可以使用add()
和remove()
这样的方法来改变。
由于是可变类型,它没有哈希值,且不能被用作字典的键
或其他集合的元素
。 -
frozenset
类型:是不可变并且为hashable
,其内容在被创建后不能再改变;
因此它可以被用作字典的键
或其他集合的元素
。
set
集合中所有能改变集合本身的方法,比如 remove()、discard()、add()
等,frozenset
都不支持;set
集合中不改变集合本身的方法,fronzenset
都支持。
2 fronzenset 集合的使用
- 如果集合的元素不需要改变,可以使用
fronzenset
替代set
,这样更加安全。 - 如果程序要求必须是不可变对象,就要使用
fronzenset
替代set
。例如:字典(dict)(请参见博文《Python 映射数据类型(字典数据类型 dict )详解》)的键(key)就要求是不可变对象。