Python中的集合是一種無序、可變的容器,其中包含不重復的元素。集合是由一對花括號 {} 括起來的元素,元素之間使用逗號分隔。
set1 = {1, 2, 3, 4, 5}
set2 = {'a', 'b', 'c', 'd', 'e'}
set3 = {"apple", "banana", "cherry"}
集合與列表和元組非常相似,但是集合不允許重復元素,并且沒有索引。我們可以使用in關鍵字判斷一個元素是否在集合中,并且可以使用set()函數將列表或元組轉換為集合。
set4 = {1, 2, 3, 1, 2, 3} # 集合會自動去重
print(set4) #輸出 {1, 2, 3}
list1 = [1, 2, 3, 4]
set5 = set(list1) # list轉set
print(set5) # 輸出 {1, 2, 3, 4}
tuple1 = (1, 2, 3, 4)
set6 = set(tuple1) # tuple轉set
print(set6) # 輸出 {1, 2, 3, 4}
集合中常用的操作包括:
- 添加元素
- 刪除元素
- 集合運算
添加元素可以使用 add() 或者 update() 方法,其中add()方法添加一個元素,update()方法可以添加一個列表、元組或集合。
set7 = {1, 2, 3}
set7.add(4) # 添加一個元素
print(set7) # 輸出 {1, 2, 3, 4}
set8 = {1, 2, 3}
set8.update([4, 5, 6]) # 添加一個列表
print(set8) # 輸出 {1, 2, 3, 4, 5, 6}
刪除元素可以使用 remove() 或者 discard() 方法。其中remove()方法刪除指定元素,如果不存在則拋出異常,而discard()方法刪除指定元素,但是即使元素不存在也不會拋出異常。
set9 = {1, 2, 3, 4, 5}
set9.remove(4) # 刪除一個元素
print(set9) # 輸出 {1, 2, 3, 5}
set10 = {1, 2, 3, 4, 5}
set10.discard(6) # 刪除一個不存在的元素
print(set10) # 輸出 {1, 2, 3, 4, 5}
集合運算包括并集、交集、差集和對稱差集。可以使用union()、intersection()、difference()和symmetric_difference()方法實現這些運算。
set11 = {1, 2, 3, 4}
set12 = {3, 4, 5, 6}
print(set11.union(set12)) # 并集 {1, 2, 3, 4, 5, 6}
print(set11.intersection(set12)) # 交集 {3, 4}
print(set11.difference(set12)) # 差集 {1,2}
print(set11.symmetric_difference(set12)) # 對稱差集 {1, 2, 5, 6}
Python中的集合是非常有用的數據結構,它可以幫助我們很方便地進行元素去重、集合運算等操作,使用起來也非常簡單。