在 Python 中,集合(set) 是一種無序、不可重複的數據結構,用來存儲唯一的元素。集合中的元素是不可變的,即不能是可變類型,但集合本身是可變的,可以添加或刪除元素。
你可以使用大括號{}
或set()
函數來創建集合。當集合中有重複元素時,集合會自動刪除重複項。
# 使用大括號創建集合
my_set = {1, 2, 3, 4, 4, 5}
print(my_set) # 輸出: {1, 2, 3, 4, 5}
# 使用 set() 函數創建集合
my_set2 = set([1, 2, 3, 3, 4])
print(my_set2) # 輸出: {1, 2, 3, 4}
add()
方法向集合中添加單個元素,使用update()
方法一次添加多個元素。my_set = {1, 2, 3}
my_set.add(4) # 添加單個元素
print(my_set) # 輸出: {1, 2, 3, 4}
my_set.update([5, 6]) # 添加多個元素
print(my_set) # 輸出: {1, 2, 3, 4, 5, 6}
remove()
或discard()
方法來刪除元素,兩者的區別在於,remove()
刪除不存在的元素會引發錯誤,而discard()
不會。my_set.remove(3) # 刪除元素 3
print(my_set) # 輸出: {1, 2, 4, 5, 6}
my_set.discard(10) # 刪除不存在的元素,不會引發錯誤
clear()
方法可以清空集合中的所有元素。my_set.clear()
print(my_set) # 輸出: set()
Python提供了多種集合運算,如交集、並集、差集等,這些運算符可以有效處理兩個集合的關係。
|
運算符或union()
方法。set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1 | set2
print(union_set) # 輸出: {1, 2, 3, 4, 5}
&
運算符或intersection()
方法。intersection_set = set1 & set2
print(intersection_set) # 輸出: {3}
-
運算符或difference()
方法。difference_set = set1 - set2
print(difference_set) # 輸出: {1, 2}
^
運算符或symmetric_difference()
方法。symmetric_difference_set = set1 ^ set2
print(symmetric_difference_set) # 輸出: {1, 2, 4, 5}
my_set = {1, 2, 3, 4}
print(2 in my_set) # 輸出: True
print(5 not in my_set) # 輸出: True
for item in my_set:
print(item)
len()
函數來計算集合中元素的個數。print(len(my_set)) # 輸出: 4
集合非常適合用來處理需要唯一元素的情況,比如去除列表中的重複元素。
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_set = set(my_list)
unique_list = list(unique_set)
print(unique_list) # 輸出: [1, 2, 3, 4, 5]
issubset()
和issuperset()
方法來判斷集合之間的包含關係。set1 = {1, 2, 3}
set2 = {1, 2}
print(set2.issubset(set1)) # 輸出: True
print(set1.issuperset(set2)) # 輸出: True