Python基礎 集合

2021-08-19 20:33:58 字數 2165 閱讀 7869

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轉集合後,會自...