集合是Python中另一個重要的資料結構。

我們可以說它們和元組(tuples)的運作方式相似,但它們並不是有序的,且它們是可變的。 或者我們可以說它們和字典(dictionaries)的運作方式相似,但它們沒有鍵(keys)。

它們還有一個不可變的版本,稱為frozenset

你可以使用以下語法來建立一個集合:

names = {"Roger", "Syd"}

當你把集合當作數學集合時,它們的運作效果很好。

你可以取兩個集合的交集:

set1 = {"Roger", "Syd"}
set2 = {"Roger"}

intersect = set1 & set2 #{'Roger'}

你可以將兩個集合合併:

set1 = {"Roger", "Syd"}
set2 = {"Luna"}

union = set1 | set2
#{'Syd', 'Luna', 'Roger'}

你可以獲取兩個集合之間的差異:

set1 = {"Roger", "Syd"}
set2 = {"Roger"}

difference = set1 - set2 #{'Syd'}

你可以檢查一個集合是否為另一個集合的超集(當然也可以檢查一個集合是否為另一個集合的子集):

set1 = {"Roger", "Syd"}
set2 = {"Roger"}

isSuperset = set1 > set2 # True

你可以使用len()全局函數計算集合中的項目數量:

names = {"Roger", "Syd"}
len(names) # 2

你可以通過將集合傳遞給list()構造函數,從集合中獲取一個列表:

names = {"Roger", "Syd"}
list(names) #['Syd', 'Roger']

你可以使用in運算符檢查一個項目是否包含在集合中:

print("Roger" in names) # True