Python set(集合)是一個無序且不包含重復元素的數據結構。以下是一些常用的set操作方法:
創建集合:可以使用花括號 {}
或者 set()
函數來創建一個集合。
s1 = {1, 2, 3}
s2 = set([1, 2, 3])
添加元素:使用 add()
方法向集合中添加一個元素。
s = {1, 2, 3}
s.add(4)
刪除元素:使用 remove()
或 discard()
方法從集合中刪除一個元素。remove()
方法在元素不存在時會拋出異常,而 discard()
方法則不會。
s = {1, 2, 3}
s.remove(4) # 拋出異常:KeyError
s.discard(4) # 無異常
檢查元素是否存在:使用 in
或 not in
關鍵字檢查一個元素是否存在于集合中。
s = {1, 2, 3}
print(4 in s) # 輸出 False
遍歷集合:可以使用 for
循環遍歷集合中的元素。
s = {1, 2, 3}
for item in s:
print(item)
計算集合長度:使用內置函數 len()
計算集合中元素的個數。
s = {1, 2, 3}
print(len(s)) # 輸出 3
集合運算:
并集:使用 union()
方法或 |
運算符計算兩個集合的并集。
s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.union(s2)) # 輸出 {1, 2, 3, 4, 5}
print(s1 | s2) # 輸出 {1, 2, 3, 4, 5}
交集:使用 intersection()
方法或 &
運算符計算兩個集合的交集。
s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.intersection(s2)) # 輸出 {3}
print(s1 & s2) # 輸出 {3}
差集:使用 difference()
方法或 -
運算符計算兩個集合的差集。
s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.difference(s2)) # 輸出 {1, 2}
print(s1 - s2) # 輸出 {1, 2}
對稱差集:使用 symmetric_difference()
方法或 ^
運算符計算兩個集合的對稱差集。
s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.symmetric_difference(s2)) # 輸出 {1, 2, 4, 5}
print(s1 ^ s2) # 輸出 {1, 2, 4, 5}
更新集合:使用 update()
方法或 |=
運算符將另一個集合中的元素添加到當前集合中。
s = {1, 2, 3}
s.update({4, 5})
print(s) # 輸出 {1, 2, 3, 4, 5}
s |= {6, 7}
print(s) # 輸出 {1, 2, 3, 4, 5, 6, 7}