- 如果集合的元素不需要改變,可以使用 `fronzenset` 替代 `set`,這樣更加安全。 - 如果程式要求必須是不可變對象,就要使用 `fronzenset` 替代 `set`。例如:字典(dict)(請參見博文[《Python 映射數據類型(字典數據類型 dict )詳解》](https... ...
您的“關註”和“點贊”,是信任,是認可,是支持,是動力......
如意見相佐,可留言。
本人必將竭盡全力試圖做到準確和全面,終其一生進行修改補充更新。
目錄
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)就要求是不可變對象。