集合是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