集合计算器

执行集合运算:并集、交集、差集、对称差集、笛卡尔积和集合关系。

关于这个计算器

Operate on two sets entered as comma-separated values. The tool returns union, intersection, difference, and symmetric difference, plus set membership checks.

Set operations

  • Union (A ∪ B) — everything in A or B.
  • Intersection (A ∩ B) — only items in both A and B.
  • Difference (A − B) — items in A but not in B.
  • 对称差 — items in either set but not both.

How to enter sets

Type values separated by commas, e.g. 1, 2, 3. Duplicates are removed automatically because a set holds each element at most once.

Where this is used

Set logic underpins database queries, probability, logic design, and data de-duplication.

如何使用集合计算器

  1. 1输入集合 A 与集合 B 的元素,用逗号分隔。
  2. 2选择运算:并集、交集、差集或对称差集。
  3. 3查看结果集合,以去重后的成员列出。

集合运算详解

并集 A∪B、交集 A∩B、差集 A−B、对称差 (A−B)∪(B−A)

集合是互异元素的汇集;集合运算组合或比较集合时不计重复。

并集保留全部,交集只保留共有项,差集保留属于其一但不属于另一的部分。

集合运算最容易混淆的是差集的方向:A − B 是「在 A 中但不在 B 中」,反过来 B − A 是「在 B 中但不在 A 中」,两者一般不相等。用上表的例子,A − B = {1, 2},而 B − A = {4, 5}。判断技巧:先看减号前面的集合,从中剔除后面集合含有的元素。

容斥原理是集合运算最重要的实用公式:|A ∪ B| = |A| + |B| − |A ∩ B|。直接相加会把交集部分算两次,所以要减掉一次。上例中 |A| = 3、|B| = 3、|A ∩ B| = 1,所以 |A ∪ B| = 3 + 3 − 1 = 5,与实际的 {1,2,3,4,5} 相符。这个原理可以推广到三个及以上集合,是概率论和计数问题的基础工具。

运算符号含义示例(A={1,2,3}, B={3,4,5})
并集A ∪ B属于 A 或 B 的所有元素{1, 2, 3, 4, 5}
交集A ∩ B同时属于 A 和 B 的元素{3}
差集A − B属于 A 但不属于 B 的元素{1, 2}
补集A′全集中不属于 A 的元素取决于全集定义
对称差A △ B只属于其中一个集合的元素{1, 2, 4, 5}

集合的基本运算

常见问题

为何集合中无重复?

按定义集合每个元素最多出现一次,重复会合并。

什么是对称差集?

恰好属于两个集合中某一个的元素,排除共有成员。

集合有序吗?

否,{1,2,3} 等于 {3,2,1};只关心成员关系。

集合里的元素能重复吗?

不能,这是集合与「列表/多重集」的核心区别。集合中的每个元素只能出现一次,{1, 1, 2} 和 {1, 2} 是同一个集合。另外集合**没有顺序**,{1, 2, 3} 和 {3, 2, 1} 完全相同。如果业务需要保留重复次数或顺序,应使用多重集(multiset)或列表/数组。数据库中的 DISTINCT 操作本质就是在去重、把结果当集合处理。

集合运算在编程中怎么实现?

多数语言内置了集合类型:Python 用 set(支持 & 交集、| 并集、− 差集、^ 对称差),JavaScript 有 Set(需自己实现运算或用扩展方法),SQL 用 UNION/INTERSECT/EXCEPT。集合的底层通常是哈希表,因此查找、插入的平均复杂度是 O(1),去重和成员判断非常高效。处理「找出两份名单的差异」这类任务时,用集合比嵌套循环快得多。

更多工具