您的「關注」和「點贊」,是信任,是承認,是支持,是動力......python
如意見相佐,可留言。
本人必將不遺餘力試圖作到準確和全面,終其一輩子進行修改補充更新。
安全
目前有兩種內置集合類型,set
(可參見博文《Python 集合數據類型之一:set》 ) 和 frozenset
。微信
set
類型:是可變的,其內容可使用 add()
和 remove()
這樣的方法來改變。
因爲是可變類型,它沒有哈希值,且不能被用做字典的鍵
或其餘集合的元素
。.net
frozenset
類型:是不可變而且爲 hashable
,其內容在被建立後不能再改變;
所以它能夠被用做字典的鍵
或其餘集合的元素
。code
set
集合中全部能改變集合自己的方法,好比 remove()、discard()、add()
等,frozenset
都不支持;set
集合中不改變集合自己的方法,fronzenset
都支持。對象
fronzenset
替代 set
,這樣更加安全。fronzenset
替代 set
。例如:字典(dict)(請參見博文《Python 映射數據類型(字典數據類型 dict )詳解》)的鍵(key)就要求是不可變對象。