Python 集合set()


創建

# 創建空集合
set()
# 創建集合,參數必須為 iterable
set(it) set(dict) # 只取dict.keys()作為集合的元素

特性

# 集合特性:無序序列
# 集合特性:可變
# 集合特性:去重
ls = [1, 2, 1]
s = set(ls)
print(s)  # return {1, 2}

 內置函數

  添加

a = set('one')
# 方法1:將參數作為整體的元素加入 a.add('two')
# 方法2:將參數分解成多個元素加入 a.update('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()

  判斷子集/父集

a = {1, 2}
b = {1, 2, 3}

# 判斷 a 是否為 b 的子集
a < b a.issubset(b) # 判斷 a 是否為 b 的父集
a > b a.issupset(b)

# 其他:<=、>=、!=、==

  交集/並集/差集/對稱差集

# 交集:兩個集合重合的部分
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

 

擴展:

  不可變的集合:frozenset

 

 

 

 

 

 

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM