张芷铭的个人博客

对称差集(Symmetric Difference)

在集合运算中,对称差集(^ 运算符 或 set.symmetric_difference() 方法)指的是两个集合中不同时存在的元素。换句话说,它返回在 A 或 B 中但不在 A 和 B 交集中的元素

数学定义

对称差集 $A \triangle B$ 定义为: $$A \triangle B = (A \cup B) - (A \cap B)$$ 即:

• 取 A 和 B 的 并集

• 去掉 A 和 B 的 交集

Python 代码示例

1️⃣ 使用 ^ 计算对称差

A = {1, 2, 3, 4}
B = {3, 4, 5, 6}

symmetric_diff = A ^ B  # 对称差集
print(symmetric_diff)  # {1, 2, 5, 6}

2️⃣ 使用 symmetric_difference() 计算对称差

symmetric_diff_method = A.symmetric_difference(B)
print(symmetric_diff_method)  # {1, 2, 5, 6}

应用场景

  1. 查找不重复的数据
old_users = {"Alice", "Bob", "Charlie"}
new_users = {"Bob", "Charlie", "David", "Eve"}

unique_users = old_users ^ new_users  # 只出现一次的用

Comments