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...