python 集合操作

2021-09-26 07:29:06 字數 1220 閱讀 5635

python的set和其他語言類似, 是乙個無序不重複元素集, 基本功能包括關係測試和消除重複元素. 集合物件還支援union(聯合), intersection(交), difference(差)和sysmmetric difference(對稱差集)等數**算.  

sets 支援 x in set, len(set),和 for x in set。作為乙個無序的集合,sets不記錄元素位置或者插入點。因此,sets不支援 indexing, slicing, 或其它類序列(sequence-like)的操作。  

下面來點簡單的小例子說明把。

x = set(『spam』)  

y = set([『h』,『a』,『m』])  

x, y  

(set([『a』, 『p』, 『s』, 『m』]), set([『a』, 『h』, 『m』]))  

再來些小應用。

x & y # 交集  

set([『a』, 『m』])

x | y # 並集  

set([『a』, 『p』, 『s』, 『h』, 『m』])

x - y # 差集  

set([『p』, 『s』])  

記得以前個網友提問怎麼去除海量列表裡重複元素,用hash來解決也行,只不過感覺在效能上不是很高,用set解決還是很不錯的,示例如下:

a = [11,22,33,44,11,22]  

b = set(a)  

b  set([33, 11, 44, 22])

c = [i for i in b]  

c  [33, 11, 44, 22]  

很酷把,幾行就可以搞定。  

1.8 集合   

集合用於包含一組無序的物件。要建立集合,可使用set()函式並像下面這樣提供一系列的項:  

s = set([3,5,9,10])      #建立乙個數值集合  

t = set(「hello」)         #建立乙個唯一字元的集合  

與列表和元組不同,集合是無序的,也無法通過數字進行索引。此外,集合中的元素不能重複。例如,如果檢查前面**中t集合的值,結果會是:

python集合操作

集合操作建立列表的兩種方式 第一種方式 建立列表 list set 4,6,5,7,13,23,45 第二種方式 list 1 1,3,2,5,7,9,17 list 1 set list 1 list 2 set 4,6,5,7,13,23,45 print list 1,list 2 1 取交集...

python 集合操作

a set b set print a set.union b set print a set.intersection b set print a set.difference b set print a set.symmetric difference b set 要檢測某值是否是集合的成員,可...

python 集合操作

在這裡插入 片 集合 intersection 交集 difference 差集 union 並集 issubset 檢查乙個集合是否為擰乙個子集 issuperset 檢查乙個集合是否為d另乙個的超集 a b e a.intersection b print 交集 format e d a.dif...