python的set和其他語言類似, 是乙個無序不重複元素集, 基本功能包括關係測試和消除重複元素. 集合物件還支援union(聯合), intersection(交), difference(差)和sysmmetric difference(對稱差集)等數**算.
sets 支援 x in
set, len(set),和
forx
inset。作為乙個無序的集合,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'
]) 1.8
集合
集合用於包含一組無序的物件。要建立集合,可使用set()函式並像下面這樣提供一系列的項:
s = set([3,5
,9,10
])
#建立乙個數值集合
t = set("hello"
)
#建立乙個唯一字元的集合
與列表和元組不同,集合是無序的,也無法通過數字進行索引。此外,集合中的元素不能重複。例如,如果檢查前面**中t集合的值,結果會是:
>>> t
set(['h'
, 'e'
, 'l'
, 'o'
])
注意只出現了乙個'l'
。 集合支援一系列標準操作,包括並集、交集、差集和對稱差集,例如:
a = t | s # t 和 s的並集
b = t & s # t 和 s的交集
c = t – s # 求差集(項在t中,但不在s中)
d = t ^ s # 對稱差集(項在t或s中,但不會同時出現在二者中)
基本操作:
t.add('x'
)
# 新增一項
s.update([10,37
,42])
# 在s中新增多項
使用remove()可以刪除一項:
t.remove('h'
) len(s)
set 的長度
x in
s 測試 x 是否是 s 的成員
x not
ins
測試 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」的乙個淺複製
python基礎 集合
集合 1.集合的定義 集合是乙個無序的,不重複的資料組合 2.集合關係測試操作 交集 list 1.intersection list 2 並集 list 1.union list 2 差集 list 1.difference list 2 list 2.difference list 1 對等差分...
python基礎 集合
可變集合,允許新增 刪除元素 settest 不可變集合 set3 frozenset set4 frozenset django 集合的內建方法只可以新增不可重複的元素 集合關係運算test 1 1,2 2,3 3 test2 1 1,2 2,3 3 print set test print se...
python基礎 集合
特性 1 集合天生可以去重 2 集合是無序的,說明不能使用下標進行取值 1 集合的定義 s 集合,天生自動去重 print s s s1 不是集合,是個空字典 s2 set 空集合的定義 print s1型別 type s1 print s2型別 type s2 執行結果 2 list轉集合後,會自...