update()
pop()
remove()
集合的運算
集合和字典相同都用{},但是集合沒有鍵,只有元素值
集合中存貯列表會報錯,因為只能存貯不可變序列,而列表是可變的
直接建立:
se =
(se,
type
(se)
)
通過set()建立:<
class
'set'
>
se =
set([1
,2,3
,4])
#這裡函式中用列表,因為要儲存序列
(se,
type
(se)
)s =
set(
)#用set函式將字典轉換為集合僅會保留字典的鍵
(s)
add()<
class
'set'
>
add()向集合中新增元素
s =
('修改前'
,s)s.add(4)
('修改後'
,s)
update()修改前
修改後
update()將乙個集合中的元素新增到另乙個集合中
s1 =
s2 =
('修改前'
,s1)
s1.update(s2)
('修改後'
,s1)
pop()修改前
修改後
pop()可以刪除集合中隨機乙個元素,一般為最後乙個(由於集合元素是無序的,所以最後乙個元素不固定)
s1 =
('修改前'
,s1)
s1.pop(
('修改後'
,s1)
remove()修改前
修改後
remove()刪除集合中指定的元素
s1 =
('修改前'
,s1)
s1.remove(3)
('修改後'
,s1)
交集運算修改前
修改後
假設有兩個數集a和b,a包含1、2、3,b包含3、4、5,這兩個數集中很好發現,都有數字3,那麼如圖所示,a和b交在一起的部分3,就是a和b的交集。
差集運算
再看a和b交集外的1、2還有4、5,這一部分就是交集外的部分,我們稱他們為a和b的差集。
python中計算差集的運算子是 「 - 」
s1 =
s2 =
s3 = s1 - s2
(s3)
也可以用difference()方法
s1 =
s2 =
s3 = s1.difference(s2)
(s3)
並集運算
並集字面意思就比較好理解了,並在一起,那麼就是兩組數集放在一起,就是如圖所示的1、2、3、4、5.注意一點,並集不重複,即使兩個陣列中都有3,並集中不會重複出現兩個3。
python中計算並集的運算子是 「|」
s1 =
s2 =
s3 = s1 | s2
(s3)
異或集運算
異或集指集合中不相交的部分
python中計算異或集的運算子是 「 ^ 」
s1 =
s2 =
s3 = s1 ^ s2
(s3)
子集,真子集,超集,真超集
」<= 「檢查乙個集合是否另乙個集合的子集
「 < 」 檢查乙個集合是否是另乙個集合的真子集
「> = 」檢查乙個集合是否另乙個集合的超集
「 > 」 檢查乙個集合是否另乙個集合的真超集
s1 =
s2 =
s3 = s1 < s2
s4 = s1 <= s2
s5 = s1 > s2
s6 = s1 >= s2
(s3,s4,s5,s6)
true
true
false
false
#返回結果true或者false,是或者否
C 集合 集合
1,什麼是集合 集合 collection 類是專門用於資料儲存和檢索的類。這些類提供了對棧 stack 佇列 queue 列表 list 和雜湊表 hash table 的支援。大多數集合類實現了相同的介面。集合 collection 類服務於不同的目的,如為元素動態分配記憶體,基於索引訪問列表項...
集合,集合的練習
set不支援 索引,切片,重複,連線,因為set是無序的 s print s 列表去重 li 1,2,3,1,2,3 print list set li s1 s2 print 並集 s1.union s2 並集 print 交集 s1.intersection s2 交集 求交集時,把s1的值更新...
集合,集合想破腦殼
集合已經學了兩天,感覺集合這塊細節內容比較多,各個集合之間方法也挺相似的。做起題目來有點不知道選擇哪乙個,有點茫然。老師上課講的習題看了一遍,也練習了一下,感覺還是掌握得不紮實。想乘著今天放假多總結一下,比較一下各個集合之間的相同點和不同點。面試題 必須會 請使用linkedlist 來模擬乙個堆疊...