集合 集合運算

2021-10-08 09:02:26 字數 3152 閱讀 2106

update()

pop()

remove()

集合的運算

集合和字典相同都用{},但是集合沒有鍵,只有元素值

集合中存貯列表會報錯,因為只能存貯不可變序列,而列表是可變的

直接建立:

se =

print

(se,

type

(se)

)

<

class

'set'

>

通過set()建立:

se =

set([1

,2,3

,4])

#這裡函式中用列表,因為要儲存序列

print

(se,

type

(se)

)s =

set(

)#用set函式將字典轉換為集合僅會保留字典的鍵

print

(s)

<

class

'set'

>

add()

add()向集合中新增元素

s =

print

('修改前'

,s)s.add(4)

print

('修改後'

,s)

修改前 

修改後

update()

update()將乙個集合中的元素新增到另乙個集合中

s1 =

s2 =

print

('修改前'

,s1)

s1.update(s2)

print

('修改後'

,s1)

修改前 

修改後

pop()

pop()可以刪除集合中隨機乙個元素,一般為最後乙個(由於集合元素是無序的,所以最後乙個元素不固定)

s1 =

print

('修改前'

,s1)

s1.pop(

)print

('修改後'

,s1)

修改前 

修改後

remove()

remove()刪除集合中指定的元素

s1 =

print

('修改前'

,s1)

s1.remove(3)

print

('修改後'

,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

print

(s3)

也可以用difference()方法

s1 =

s2 =

s3 = s1.difference(s2)

print

(s3)

並集運算

並集字面意思就比較好理解了,並在一起,那麼就是兩組數集放在一起,就是如圖所示的1、2、3、4、5.注意一點,並集不重複,即使兩個陣列中都有3,並集中不會重複出現兩個3。

python中計算並集的運算子是 「|」

s1 =

s2 =

s3 = s1 | s2

print

(s3)

異或集運算

異或集指集合中不相交的部分

python中計算異或集的運算子是 「 ^ 」

s1 =

s2 =

s3 = s1 ^ s2

print

(s3)

子集,真子集,超集,真超集

」<= 「檢查乙個集合是否另乙個集合的子集

「 < 」 檢查乙個集合是否是另乙個集合的真子集

「> = 」檢查乙個集合是否另乙個集合的超集

「 > 」 檢查乙個集合是否另乙個集合的真超集

s1 =

s2 =

s3 = s1 < s2

s4 = s1 <= s2

s5 = s1 > s2

s6 = s1 >= s2

print

(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 來模擬乙個堆疊...