python中set和frozenset方法和區別

2021-08-09 06:59:35 字數 1119 閱讀 2501

先簡單說一下set

t.add('x')            # 新增一項

s.update([10,37,42]) # 在s中新增多項

t.remove('h') # 刪除一項

len(s) # set 的長度

xin s # 測試 x 是否是 s 的成員

x not in s # 測試 x 是否不是 s 的成員

s.issubset(t)

s <= t # 測試是否 s 中的每乙個元素都在 t 中

s.issuperset(t)

s >= t # 測試是否 t 中的每乙個元素都在 s 中

s.union(t)

s | t # 返回乙個新的 set 包含 s 和 t 中的每乙個元素

s.intersection(t)

s & t # 返回乙個新的 set 包含 s 和 t 中的公共元素

s.difference(t)

s - t # 返回乙個新的 set 包含 s 中有但是 t 中沒有的元素

s.symmetric_difference(t)

s ^ t # 返回乙個新的 set 包含 s 和 t 中不重複的元素

s.copy() # 返回 set 「s」的乙個淺複製

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方法。

python中set和frozenset方法和區別

詳細參見部落格 set 可變集合 與frozenset 不可變集合 的區別 set無序排序且不重複,是可變的,有add remove 等方法。既然是可變的,所以它不存在雜湊值。基本功能包括關係測試和消除重複元素.集合物件還支援union 聯合 intersection 交集 difference 差...

python中list和set查詢

fromrandomimportrandrange fromtimeitimport importsys l randrange 1000 foriinrange 100 print sys.getsizeof l s set l print sys.getsizeof s defchecklist...

python中set和list的坑。。。

我之前一直傻傻的認為 set 的作用就是把list中的東西單純的變換了格式 將 變成了 其實不然,它去掉了list中的重複元素。python 的set型別和其他語言類似,是乙個無序不重複元素集,基本功能包括關係測試和消除重複元素。如果我們要處理一些資料,需要去除掉重複元素,比如列表a 5,2,5,1...