集合常见操作示例

集合(Set)是数学和编程中常用的数据结构,用于存储唯一元素(无重复值)。以下是集合的常见操作及其示例,涵盖数学集合和编程实现(以Python为例):


1. 创建集合

  • 数学表示A = {1, 2, 3}
  • Python示例
    A = {1, 2, 3}          # 直接创建集合
    B = set([2, 3, 4])     # 从列表转换为集合(自动去重)
    C = set()              # 空集合
    

2. 基本操作

(1) 添加元素

  • 数学:向集合中加入新元素。
  • Python
    A.add(4)      # A = {1, 2, 3, 4}
    

(2) 删除元素

  • 数学:从集合中移除元素。
  • Python
    A.remove(2)   # 若元素不存在会报错
    A.discard(5)  # 若元素不存在不会报错
    A.pop()       # 随机移除一个元素(返回被移除的值)
    A.clear()     # 清空集合
    

(3) 检查元素是否存在

  • 数学:判断元素是否属于集合。
  • Python
    print(3 in A)  # 输出 True 或 False
    

3. 集合运算

(1) 并集(Union)

  • 数学A ∪ B = {x | x ∈ A 或 x ∈ B}
  • Python
    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}
  • Python
    print(A & B)  # 输出 {3}
    

(3) 差集(Difference)

  • 数学A - B = {x | x ∈ A 且 x ∉ B}
  • Python
    print(A - B)  # 输出 {1, 2}
    

(4) 对称差集(Symmetric Difference)

  • 数学A Δ B = (A - B) ∪ (B - A)
  • Python
    print(A ^ B)  # 输出 {1, 2, 4, 5}
    

(5) 子集与超集

  • 数学A ⊆ B(A是B的子集),A ⊇ B(A是B的超集)。
  • Python
    C = {1, 2}
    print(C.issubset(A))  # True(C是A的子集)
    print(A.issuperset(C)) # True(A是C的超集)
    

4. 其他操作

(1) 集合长度

  • 数学:集合中元素的数量。
  • Python
    print(len(A))  # 输出 3
    

(2) 遍历集合

  • Python
    for x in A:
        print(x)
    

(3) 集合推导式

  • Python
    squares = {x**2 for x in range(5)}  # 输出 {0, 1, 4, 9, 16}
    

5. 不可变集合(Frozenset)

  • 特点:集合的不可变版本,可哈希,可作为字典的键。
  • Python
    frozen_A = frozenset([1, 2, 3])
    

示例总结

# 创建集合
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}

# 子集检查
C = {1, 2}
print(C <= A)  # True(C是A的子集)

应用场景

  • 去重(如列表去重)。
  • 快速查找(成员检测时间复杂度为O(1))。
  • 关系运算(如用户权限的并集、交集等)。

通过灵活使用集合操作,可以高效解决许多数据处理问题。

posted @ 2025-10-25 21:29  nxhujiee  阅读(7)  评论(0)    收藏  举报