Python set常用操作函数集锦

Miles
Miles
发布时间:2026-10-13 | 3人浏览过
原创

本文详细介绍Python中set集合的定义、特性及常用操作方法。涵盖创建集合、增删元素(add、update、remove、discard、pop、clear)、成员检测(in/not in)以及集合运算(并集、交集、差集、对称差集、子集判断)。通过具体函数示例,帮助开发者高效掌握set在数据处理中的应用。

定义

集合(set)是一种无序且元素不重复的数据结构。

集合对象由一组无序排列的可哈希值组成,这些成员可以作为字典的键。集合支持使用 in 和 not in 操作符来检查成员是否存在,可以通过 len() 内置函数获取集合的大小(基数),并可以使用 for 循环迭代集合中的成员。然而,由于集合本身是无序的,因此无法为集合创建索引或执行切片(slice)操作,也不存在键(keys)用于获取集合中元素的值。

集合(set)与字典(dict)类似,区别在于集合没有值(value),仅相当于字典的键集合。鉴于字典的键具有不重复且不可变的特性,集合也具备以下特性:

  1. 元素不重复
  2. 集合中的元素必须为不可变对象

Python 提供了多种常用的数据结构,集合(set)便是其中之一。Python 中的集合不支持索引,其值不可重复,且插入时无需考虑顺序。

以下简要记录 set 常用的操作函数:

1. 创建一个新的集合:

使用 set("Hello") 可以创建一个集合,此时字符串会被拆分为单个字符进行插入,结果为 'H', 'e', 'l', 'o'。由于 'l' 重复出现,因此只会插入一次。

2. 添加元素:

add() 方法用于向集合中添加单个元素。

update([]) 方法用于添加多个元素,其参数应为列表(list)。需要注意的是,如果使用 add() 尝试添加多个值,会引发参数类型错误。

3. 删除元素:

remove() 方法用于从集合中删除指定元素。该元素必须存在于集合中,如果不存在,则会引发 KeyError 错误。

discard() 方法也用于删除集合中的元素,但该元素不必一定存在。即使元素不存在,调用 discard() 也不会触发错误。

4. 随机删除函数:

集合提供了一个 pop() 函数,该函数随机返回一个元素值并将其从集合中删除。如果集合为空,调用此函数会返回 KeyError 错误。

5. 清空函数:

clear() 方法用于清空集合中的所有元素。

6. 检测单个元素是否存在于集合中:

使用 in 或 not in 操作符可以判断一个值是否存在于集合内。例如,表达式 2 in set_num 若存在则返回 True,否则返回 False。

7. 测试两个集合的包含关系(子集操作):

issubset 和 issuperset 方法用于集合间的包含关系测试。

s1.issubset(s2):测试 s1 中的每个元素是否都包含在 s2 中,对应的运算符操作为 s1 <= s2。

s2.issuperset(s1):测试 s1 中的每个元素是否都包含在 s2 中,对应的运算符操作为 s1 >= s2。请注意,这是由 s2 调用该方法,参数为 s1。

8. 集合的并集:

union 方法。s1.union(s2) 返回一个新集合,该集合包含 s1 和 s2 的所有元素,等价的运算符为 |。

9. 集合的交集:

intersection 方法。s1.intersection(s2) 返回 s1 和 s2 中共同拥有的部分。

10. 其他操作:

s1.difference(s2):返回包含 s1 中有但 s2 中没有的元素的集合。

s1.symmetric_difference(s2):返回包含 s1 和 s2 中不相同元素的集合。

总结

以上介绍了 Python 集合(set)的常用操作函数,希望能对大家有所帮助。如有任何疑问,欢迎留言,小编会及时回复。在此非常感谢大家对本站网站的支持!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表