A ∪ B —— 把所有元素「合在一起」的運算
學完這節課,你將能夠:
選擇區域(A獨有 / 交集(共同元素) / B獨有),2️⃣👆 點選文氏圖新增元素。觀察:並集(所有元素) A∪B 如何隨著元素的增加而變化?
| 操作 | A | B | A∪B |
|---|
剛才的遊戲中,我們往三個區域新增元素,2️⃣觀察並集(所有元素)的變化。仔細想想:
由所有屬於集合 A 或屬於集合 B 的元素組成的集合,叫做 A 與 B 的並集(所有元素)。記作:A ∪ B(讀作「A並B」)。
並集(所有元素)和交集(共同元素)是「對偶」的運算——一個用「或」,一個用「且」:
|A∪B| = |A| + |B| - |A∩B| 叫做容斥原理。拖動滑塊驗證這個公式!
# 並集(所有元素)運算 A = {1, 2, 3} B = {3, 4, 5} # 三種方式求並集(所有元素) print(A | B) # {1, 2, 3, 4, 5} print(A.union(B)) # {1, 2, 3, 4, 5} print({x for x in A} | {x for x in B}) # 多個集合的並集(所有元素) C = {5, 6} print(A | B | C) # {1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5, 6}
# 容斥原理:|A∪B| = |A| + |B| - |A∩B| A = {1, 2, 3, 4, 5} B = {4, 5, 6, 7} union_size = len(A | B) formula = len(A) + len(B) - len(A & B) print(f'|A∪B| = {union_size}') # 7 print(f'|A|+|B|-|A∩B| = {formula}') # 7 print(union_size == formula) # True # 判斷子集關係 print(A <= B) # False (A不是B的子集) print(A <= A|B) # True (A是A∪B的子集)
|A∪B| = 7 |A|+|B|-|A∩B| = 7 True False True