建立python
# 建立空集合 set()
# 建立集合,參數必須爲 iterable
set(it) set(dict) # 只取dict.keys()做爲集合的元素
特性函數
# 集合特性:無序序列 # 集合特性:可變 # 集合特性:去重 ls = [1, 2, 1] s = set(ls) print(s) # return {1, 2}
內置函數code
添加blog
a = set('one')
# 方法1:將參數做爲總體的元素加入 a.add('two')
# 方法2:將參數分解成多個元素加入 a.update('three')
刪除three
a = set([1, 2]) # 刪除,參數爲 element a.remove(2) # 存在則刪除 a.remove(3) # 不存在則報錯:keyError # 刪除,參數爲 element a.discard(2) # 存在則刪除 a.discard(3) # 不存則什麼都不作
# 刪除並返回值 a.pop() # 隨機刪取
# 刪除,清空
a.clear() # set()
判斷子集/父集element
a = {1, 2} b = {1, 2, 3} # 判斷 a 是否爲 b 的子集
a < b a.issubset(b) # 判斷 a 是否爲 b 的父集
a > b a.issupset(b)
# 其餘:<=、>=、!=、==
交集/並集/差集/對稱差集rem
# 交集:兩個集合重合的部分 a & b a.intersection(b)
a.intersection_update(b) # 返回兩個集合的交集,替換集合 a a.isdisjoint(b) # 兩個集合是否存在空交集,存在則返回True # 並集:兩個集合全部元素的集合 a | b a.union(b) # 差集:前集合與後集合相比,在前集合中而不在後集合中的部分 a - b a.difference(b) # 對稱差集:兩個集合不重複的部分 a.symmeric_difference(b)
a.symmeric_difference_update(b) # 返回兩個集合的對稱差集,替換集合 a
擴展:it
不可變的集合:frozensetio