[Python] [Set] 學習筆記

集合 (Set):

set 是一種內建的資料結構,用於儲存唯一且無序的元素集合

特點:

  • 唯一性:set 中的元素不會重複,即使你嘗試加入重複的元素,set 也會自動忽略
  • 無序性:set 中的元素沒有固定的順序,因此不能通過索引來訪問元素
  • 可變性:set 是可變的,可以動態地添加或刪除元素
  • 支援集合運算:set 支援交集、聯集、差集等數學集合運算

 

建立 set

 

set 相關方法:

add(element)
將單個元素添加到 set 中
如果元素已經存在,則不會有任何變化

 

update(iterable)
將一個可迭代對象(如列表、元組、集合等)中的所有元素添加到 set 中
如果元素已經存在,則會被忽略
S |= T

 

remove(element)
刪除 set 中的指定元素
如果元素不存在,會拋出 KeyError 錯誤

 

discard(element)
刪除 set 中的指定元素
如果元素不存在,不會拋出錯誤

 

pop()
隨機刪除並返回 set 中的一個元素
如果 set 為空,會拋出 KeyError 錯誤

 

clear()
清空 set 中的所有元素

 

union(*others)
返回當前 set 與其他集合的聯集
等同於使用 | 運算符
S | T

 

intersection(*others)
返回當前 set 與其他集合的交集
等同於使用 & 運算符

 

difference(*others)
返回當前 set 與其他集合的差集
等同於使用 – 運算符

 

symmetric_difference(other)
返回當前 set 與另一個集合的對稱差集(即兩個集合中獨有的元素)
等同於使用 ^ 運算符

 

intersection_update(*others)
更新當前 set,只保留與其他集合的交集

 

difference_update(*others)
更新當前 set,移除與其他集合共有的元素

 

symmetric_difference_update(other)
更新當前 set,只保留與另一個集合的對稱差集
S ^= T

 

issubset(other)
檢查當前 set 是否是另一個集合的子集
等同於使用 <= 運算符

 

issuperset(other)
檢查當前 set 是否是另一個集合的超集
等同於使用 >= 運算符

 

isdisjoint(other)
檢查當前 set 與另一個集合是否沒有共同元素

 

set 相關操作:

len()
返回集合中的元素個數

 

in 運算符
檢查元素是否存在於集合中

 

sorted()
返回一個排序後的列表(set 本身無序)

 

min()、max() 和 sum()
min(): 返回集合中的最小值
max(): 返回集合中的最大值
sum(): 返回集合中所有元素的總和

 

frozenset
創建一個不可變的集合,可以作為字典的鍵或集合的元素

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *