Python 集合(set)是一种无序、可变、元素唯一的数据结构,类似于数学中的集合。它使用大括号 {} 或 set() 函数创建,常用于去重、成员关系测试和集合运算。
主要特性
- 元素唯一 :自动去除重复值。
- 无序 :元素没有索引,不支持切片或下标访问。
- 可变 :可添加或删除元素,但元素本身必须是不可变类型(如整数、字符串、元组),因为集合要求元素可哈希(hashable)。
- 高效 :成员判断(in)和集合运算的速度非常快。
创建集合
python
# 使用大括号
s1 = {1, 2, 3}
# 使用 set() 构造函数,参数为可迭代对象
s2 = set([1, 2, 2, 3]) # {1, 2, 3}
s3 = set("hello") # {'h', 'e', 'l', 'o'}
# 空集合只能用 set(),{} 是空字典
empty_set = set()
添加和删除元素
python
s = {1, 2, 3}
s.add(4) # {1, 2, 3, 4}
s.update([5, 6]) # 添加多个元素,{1,2,3,4,5,6}
s.remove(2) # 删除元素,若不存在则报错 KeyError
s.discard(10) # 删除元素,若不存在不会报错
pop_element = s.pop() # 随机删除并返回一个元素
s.clear() # 清空集合