好的 👍 阿杰,我来给你一个 集合论(Set Theory)详尽笔记,既有数学理论,也有 Python 实现示例,方便你学习和实践。


📘 集合论(Set Theory)

集合论是数学的基础之一,研究“对象的集体”,是代数、几何、逻辑和计算机科学的重要工具。


1️⃣ 基本概念

  • 集合(Set):一组确定的、互不相同的对象(元素)的整体,记作大写字母 A,B,C。
  • 元素(Element):集合中的成员,记作 a∈A。
  • 空集(Empty set):没有元素的集合,记作 ∅。
  • 全集(Universal set):讨论范围内的所有元素的集合,记作 U。
  • 子集(Subset):若 A⊆B,表示 A 中的元素都属于 B。
  • 真子集(Proper subset):若 A⊂B,并且 A≠B。

2️⃣ 集合运算

  1. 并集(Union)A∪B={x∣x∈A 或 x∈B}
  2. 交集(Intersection)A∩B={x∣x∈A 且 x∈B}
  3. 差集(Difference)A−B={x∣x∈A 且 x∉B}
  4. 补集(Complement)A′=U−A

3️⃣ 常见集合关系

  • 相等:若 A⊆B 且 B⊆A,则 A=B。
  • 不相交:若 A∩B=∅,则 A 与 B 不相交。

4️⃣ 集合运算的代数性质

  • 交换律:A∪B=B∪A,A∩B=B∩A
  • 结合律:(A∪B)∪C=A∪(B∪C)(A∩B)∩C=A∩(B∩C)
  • 分配律:A∩(B∪C)=(A∩B)∪(A∩C)A∪(B∩C)=(A∪B)∩(A∪C)
  • 德摩根律(De Morgan’s Laws):(A∪B)′=A′∩B′(A∩B)′=A′∪B′

5️⃣ 基数(Cardinality)

集合元素的个数:

  • 有限集合:元素个数有限,如 ∣A∣=3。
  • 无限集合:元素无限,如自然数集合 N。
  • 可数无限:能与自然数一一对应的集合(如偶数集)。
  • 不可数无限:无法与自然数一一对应(如实数集)。

6️⃣ 集合论与数学结构

  • 自然数、整数、有理数、实数都可定义为集合。
  • 函数可视为“有序对集合”。
  • 关系(Relation)也是集合的子集。

7️⃣ Python 中的集合操作

# 定义集合
A = {1, 2, 3}
B = {3, 4, 5}

# 并集
print(A | B)  # {1, 2, 3, 4, 5}

# 交集
print(A & B)  # {3}

# 差集
print(A - B)  # {1, 2}

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

# 子集 & 超集
print(A <= B)  # False
print(A >= {1, 2})  # True


✅ 总结

  • 集合论是现代数学和计算机科学的基础。
  • 重点:集合的表示、运算、性质、基数
  • 在编程中(如 Python),集合用于去重、快速查找、集合运算。

👌 明白了,阿杰。那我就给你写一份 超详尽的《集合论 + Python 实例》完整教程,既有数学定义、定理证明,也有对应的 Python 代码演示,帮你把数学和编程结合起来。


📘 集合论(Set Theory)+ Python 实例全教程


1️⃣ 集合的基本概念

  • 集合(Set):由确定的、不重复的对象组成的整体。
    • 数学记号:A={1,2,3},B={x∣x 是偶数}
  • 元素(Element):属于集合的对象。
    • 例:2∈A,  5∉A。
  • 空集(Empty Set):不含任何元素,记作 ∅。
  • 子集(Subset):若集合 A 的所有元素都属于集合 B,记作 A⊆B。

📌 Python 实现:

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

print(2 in A)   # True
print(5 in A)   # False

# 子集判断
print(A <= B)   # False
print({2, 3} <= B)  # True


2️⃣ 集合运算

(1) 并集 Union

A∪B={x∣x∈A 或 x∈B}

A = {1, 2, 3}
B = {3, 4, 5}
print(A | B)  # {1, 2, 3, 4, 5}


(2) 交集 Intersection

A∩B={x∣x∈A 且 x∈B}

print(A & B)  # {3}


(3) 差集 Difference

A−B={x∣x∈A 且 x∉B}

print(A - B)  # {1, 2}
print(B - A)  # {4, 5}


(4) 补集 Complement

A′=U−A

📌 在编程中需要事先定义 全集 U

U = {1, 2, 3, 4, 5}
A = {1, 2, 3}
print(U - A)  # {4, 5}


(5) 对称差 Symmetric Difference

AΔB=(A−B)∪(B−A)

print(A ^ B)  # {1, 2, 4, 5}


3️⃣ 集合的基本定律

(1) 交换律

A∪B=B∪A,A∩B=B∩A

print(A | B == B | A)  # True
print(A & B == B & A)  # True


(2) 结合律

(A∪B)∪C=A∪(B∪C)(A∩B)∩C=A∩(B∩C)

C = {5, 6}
print((A | B) | C == A | (B | C))  # True


(3) 分配律

A∩(B∪C)=(A∩B)∪(A∩C)A∪(B∩C)=(A∪B)∩(A∪C)

print(A & (B | C) == (A & B) | (A & C))  # True


(4) 德摩根律

(A∪B)′=A′∩B′,(A∩B)′=A′∪B′

U = {1, 2, 3, 4, 5, 6}
print(U - (A | B) == (U - A) & (U - B))  # True


4️⃣ 集合的基数(Cardinality)

  • 基数:集合中元素的个数,记作 ∣A∣。

例:

  • A={1,2,3},∣A∣=3
  • N(自然数集)→ 可数无限
  • R(实数集)→ 不可数无限

📌 Python 实现:

A = {1, 2, 3}
print(len(A))  # 3


5️⃣ 集合与函数

  • 笛卡尔积(Cartesian Product)

A×B={(a,b)∣a∈A,b∈B}

📌 Python 实现:

from itertools import product

A = {1, 2}
B = {"x", "y"}
print(list(product(A, B)))
# [(1, 'x'), (1, 'y'), (2, 'x'), (2, 'y')]

  • 函数:集合之间的映射,本质上是“有序对的集合”。

6️⃣ 集合论在计算机科学中的应用

  • 数据库:SQL 查询中的 UNION, INTERSECT, EXCEPT
  • 搜索引擎:倒排索引(关键词集合运算)
  • 信息安全:集合运算用于权限管理
  • 机器学习:样本集、训练集、测试集

✅ 总结

  • 集合论的核心是 集合的定义、运算、定律和基数
  • Python 中的 set 提供了所有基本运算。
  • 结合 数学公式 + 代码实践 能更好地理解抽象概念。