【原文】【Python入門與進階】 序列- 集合,集合運算符
0:導語
》》a:set裏的元素不能重複,元素是無序
》》b:空集合使用set()
》》c:其他方法跟list類似
》》d:python序列是牛的是集合之間的運算
1:集合
(已經學過的 list,tuple 都是有序的,可重複的序列,而今天這個有去重效果)
集合set,是一個無序不可重複的序列
1.1:創建集合
說明:
1)使用 {} 來創建集合
2) 使用 set() 函數來創建集合
如圖:
1)空集合必須使用set()創建
2)通過set()來將序列和字典轉換爲集合
3) 使用set()將字典轉換爲集合時,只會包含字典中的鍵
1.2 :集合方法
》》1:len方法
說明:
1)使用in和not in來檢查集合中的元素
2) 使用len()來獲取集合中元素的數量
3)add() 向集合中添加元素
》》2:update方法
說明:
1)將一個集合中的元素添加到當前集合中
2)update()可以傳遞序列或字典作爲參數,字典只會使用鍵
》》3:刪除
如圖pop隨機刪除 ,remove刪除指定
》》4 : clear()清空集合
》》5: copy()對集合進行淺複製
2:集合運算
定義:集合運算包含,交集,並集,差集,異或集
(其實一張圖就可以描述的很清楚)
交集 x&y <==> ②
並集 x|y <==> ① + ② + ③
差集 x-y <==> ①
差集 y-x <==> ③
異或集 x^y == y^x <==> ① + ③
在對集合做運算時,不會影響原來的集合,而是返回一個運算結果
2.1:交集運算
如圖:兩個集合共同的元素放在新集合返回
2.2:並集運算
如圖:兩個集合的元素放在新集合,返回,新集合元素不重複
2.3: - 差集
如圖:集合減去交集元素,返回新集合
2.4: ^ 異或集
如圖:
得到並集減去交集的結果。
2.5 <=
檢查一個集合是否是另一個集合的子集
如圖: 判斷 s1 是不是 s2的一部分
如果a集合中的元素全部都在b集合中出現,那麼a集合就是b集合的子集,b集合是a集合超集
2.6 <
如圖:
檢查一個集合是否是另一個集合的真子集
(其實就是誰包含誰的問題)
如果超集b中含有子集a中所有元素,並且b中還有a中沒有的元素,則b就是a的真超集,a是b的真子集
2.7 >=
檢查一個集合是否是另一個的超集
2.8 >
檢查一個集合是否是另一個的真超集