python中集合的操作
Python中的集合(Set)是一种无序、可变且元素唯一的数据结构,主要用于去重和数学运算。以下是核心操作分类:
1. 集合创建
- 大括号创建:s = {1, 2, 3}(空集合必须用set())
- 构造函数:set([1,2,2,3]) → {1,2,3}(自动去重)
- 字符串转换:set(“hello”) → {‘h’,‘e’,‘l’,‘o’}
2. 元素操作
- 添加:add(x)添加单个元素,update(iterable)添加多个
- 删除:remove(x)(元素不存在报错),discard(x)(安全删除),pop()随机删除
- 清空:clear()删除所有元素
3. 集合运算
- 并集:a | b 或 union()
- 交集:a & b 或 intersection()
- 差集:a - b 或 difference()
- 对称差集:a ^ b 或 symmetric_difference()
4. 成员检测
- 快速查找:x in s(时间复杂度O(1))
- 子集检查:<=(子集)或<(真子集)
- 超集检查:>=(超集)或>(真超集)
5. 其他方法
- 长度:len(s)获取元素数量
- 拷贝:copy()生成浅拷贝
- 集合推导式:{x**2 for x in range(5)}
示例代码:
# 集合运算示例
A = {1, 2, 3}
B = {3, 4, 5}
print(A & B) # 输出交集 {3}
print(A - B) # 输出差集 {1, 2}
集合特别适合处理需要快速查找或去重的场景,如数据清洗和关系运算。注意集合元素必须是不可变类型(如数字、字符串、元组)。