天天看點

python中set和frozenset方法和差別

set(可變集合)與frozenset(不可變集合)的差別:

set無序排序且不重複,是可變的,有add(),remove()等方法。既然是可變的,是以它不存在哈希值。基本功能包括關系測試和消除重複元素. 集合對象還支援union(聯合), intersection(交集), difference(差集)和sysmmetric difference(對稱差集)等數學運算. 

sets 支援 x in set, len(set),和 for x in set。作為一個無序的集合,sets不記錄元素位置或者插入點。是以,sets不支援 indexing, 或其它類序列的操作。

frozenset是當機的集合,它是不可變的,存在哈希值,好處是它可以作為字典的key,也可以作為其它集合的元素。缺點是一旦建立便不能更改,沒有add,remove方法。

一、集合的建立

set()和 frozenset()工廠函數分别用來生成可變和不可變的集合。如果不提供任何參數,預設

會生成空集合。如果提供一個參數,則該參數必須是可疊代的,即,一個序列,或疊代器,或支援

疊代的一個對象,例如:一個清單或一個字典。

<a></a>

16 frozenset({'h', 'o', 's', 'b', 'p', 'k'})

本文轉自張昺華-sky部落格園部落格,原文連結:http://www.cnblogs.com/bonelee/p/7867441.html,如需轉載請自行聯系原作者