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