比較
se = {11, 22, 33}
be = {22, 55}
temp1 = se.difference(be) #找到se中存在,be中不存在的集合,返回新值
print(temp1) #{33, 11}
print(se) #{33, 11, 22}
temp2 = se.difference_update(be) #找到se中存在,be中不存在的集合,覆蓋掉se
print(temp2) #None
print(se) #{33, 11},
刪除 discard() remove() pop()
se = {11, 22, 33}
se.discard(11)
se.discard(44) # 移除不存的元素不會報錯
print(se)
se = {11, 22, 33}
se.remove(11)
se.remove(44) # 移除不存的元素會報錯
print(se)
se = {11, 22, 33} # 移除末尾元素並把移除的元素賦給新值
temp = se.pop()
print(temp) # 33
print(se) # {11, 22}
取交集
se = {11, 22, 33}
be = {22, 55}
temp1 = se.intersection(be) #取交集,賦給新值
print(temp1) # 22
print(se) # {11, 22, 33}
temp2 = se.intersection_update(be) #取交集並更新自己
print(temp2) # None
print(se) # 22
判斷
se = {11, 22, 33}
be = {22}
print(se.isdisjoint(be)) #False,判斷是否不存在交集(有交集False,無交集True)
print(se.issubset(be)) #False,判斷se是否是be的子集合
print(se.issuperset(be)) #True,判斷se是否是be的父集合
合併
se = {11, 22, 33}
be = {22}
temp1 = se.symmetric_difference(be) # 合併不同項,並賦新值
print(temp1) #{33, 11}
print(se) #{33, 11, 22}
temp2 = se.symmetric_difference_update(be) # 合併不同項,並更新自己
print(temp2) #None
print(se) #{33, 11}
取並集
se = {11, 22, 33}
be = {22,44,55}
temp=se.union(be) #取並集,並賦新值
print(se) #{33, 11, 22}
print(temp) #{33, 22, 55, 11, 44}
更新
se = {11, 22, 33}
be = {22,44,55}
se.update(be) # 把se和be合併,得出的值覆蓋se
print(se)
se.update([66, 77]) # 可增加迭代項
print(se)
集合的轉換
se = set(range(4))
li = list(se)
tu = tuple(se)
st = str(se)
print(li,type(li))
print(tu,type(tu))
print(st,type(st))
OUTPUT:
[0, 1, 2, 3] <class 'list'>
(0, 1, 2, 3) <class 'tuple'>
{0, 1, 2, 3} <class 'str'>
基本操作
t.add('x') # 添加一項 s.update([10,37,42]) # 在s中添加多項
t.remove('H') # 刪除一項
len(s) # set 的長度
x in s # 測試 x 是否是 s 的成員
x not in s # 測試 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”的一個淺複製