如果你需要一個 Python 物件來當作數學上的集合使用,那麼可以使用 Python 當中的集合。Python 的集合跟數學上的集合一樣,具有元素不可重覆等特性,其基本操作方法如下:

s1 = {1, 2, 1, 2, 3, 4, 4, 5}
print(s1)

s2 = set([1, 2, 1, 2, 3, 4, 4, 5])
print(s2)

s3 = set()
s3.add(1)
s3.add(2)
s3.add(1)
s3.add(2)
s3.add(3)
s3.add(4)
s3.add(4)
s3.add(5)
print(s3)

print(len(s1), len(s2), len(s3))

需要刪除元素時,可以使用「remove」或者「discard」,兩者的差別在於前者會在沒有元素時噴出錯誤,而後者不會:

s = set([1, 2, 3, 4, 5, 6, 7])

s.remove(1)
print(s)

s.discard(2)
print(s)

s.discard(99)
print(s)

s.remove(99)
print(s)

若要在判斷集合中是否有該元素,跟字典一樣可以用 in 來進行:

s = set([1, 2, 3, 4, 5, 6, 7])

print(1 in s)
print('a' in s)
print('x' not in s) # 或 print(not 'x' in s)

若要進行聯集或交集的運算,可以分別使用「union」和「intersection」:

s1 = set([1, 2, 3, 4, 5])
s2 = set([4, 5, 6, 7, 8])

s3 = s1.union(s2)
print(s3)

s4 = s1.intersection(s2)
print(s4)

若是要做差集,則可以使用「difference」,或者直接使用減號:

s1 = set([1, 2, 3, 4, 5])
s2 = set([4, 5, 6, 7, 8])

s3 = s1 - s2
print(s3)

s4 = s1.difference(s2)
print(s4)

s5 = s2 - s1
print(s5)

s6 = s2.difference(s1)
print(s6)