集合的操作

2022-05-08 18:30:09 字數 1909 閱讀 2547

集合是乙個無序的,不重複的資料組合,作用如下:

1.去重,把乙個列表變成集合,就自動去重了

2.關係測試,測試兩組資料之前的交集、差集、並集等關係

建立集合

>>> a = [1, 3, 5, 3]

>>> b =set(a)

>>>b

交集intersection 或 &

>>> a = set([1, 3, 5, 7])

>>> b = set([3, 9, 11])

>>>a.intersection(b)

>>> a &b

並集union 或 |

>>> a = set([1, 3, 5, 7])

>>> b = set([3, 9, 11])

>>>a.union(b)

>>> a |b

差集difference 或 -

>>> a = set([1, 3, 5, 7])

>>> b = set([3, 9, 11])

>>>a.difference(b)

>>> a -b

對稱差集(並集-差集)

symmetric_difference 或 ^

>>> a = set([1, 3, 5, 7])

>>> b = set([3, 9, 11])

>>>a.symmetric_difference(b)

是否是另乙個的子集\超集

issubset issuperset

>>> a = set([1, 3, 5, 7])

>>> b = set([3, 9, 11])

>>>a.issubset(b)

false

>>>a.issuperset(b)

false

>>> c = set([1, 7])

>>>c.issubset(a)

true

>>>a.issuperset(c)

true

兩者是否無交集

isdisjoint

>>> a = set([1, 3, 5, 7])

>>> b = set([3, 9, 11])

>>>a.isdisjoint(b)

false

>>> d = set([2, 4, 6, 8])

>>>a.isdisjoint(d)

true

基本操作

增add

>>> a = set([1, 3, 5, 7])

>>> a.add('

yes'

)>>>a

刪remove

>>> a = set([1, 3, 5, 7])

>>> a.remove(1)

>>>a

pop 隨機刪除

>>> a = set([1, 3, 5, 7])

>>>a.pop()

1>>>a

discard 刪除乙個指定值,如果集合中沒有不做任何操作

>>> a = set([1, 3, 5, 7])

>>> a.discard(8)

>>>a

>>> a.discard(5)

>>>a

改update

>>> a = set([1, 3, 5, 7])

>>> a.update([2, 4, 6, 8])

>>>a

集合的操作

list 1 2,3,5,6,2,7,9 list 2 6,4,7,7,3,2,8 list 1 set list 1 把列表轉換為集合 集合可以除去列表中相同的數 list 2 set list 2 list 1.intersection list 2 list 1 list 2 算出list 1...

集合的操作

集合操作 集合是乙個無序的,不重複的資料組合,它的主要作用如下 去重,把乙個列表變成集合,就自動去重了 關係測試,測試兩組資料之前的交集 差集 並集等關係 def nl print ljust 30,list1 1,2,3,4,5,6,7,8 list2 3,4,5,6,8,0,11,23,55 l...

集合的相關操作

include using namespace std typedef struct nodenode,linklist define size sizeof node define false 0 define true 1 初始化集合 void initlinklist linklist hea...