Python Sets库详解
更新时间:2026-10-06 13:28:42
Python Sets库详解
Python程序设计中常用的结构化数据类型包括字典和列表。本节重点讨论的是集合(Set)。集合是Python 本引入的一种内置数据类型,由无序且不重复的元素组成,可以通过序列或其他可迭代对象创建。本文将系统介绍集合的基本操作,如并集、交集、差集和对称差集,并简要说明其子类及其扩展功能。
sets库中包含多个子类,各子类提供不同功能的函数。本节重点介绍sets.Set类常用函数的具体实现,内容示例如下。

函数s.update(t)用于更新集合s。
更新集合s,使其包含集合t中的所有元素。

函数s.intersection_update(t)用于更新集合s,使其仅保留与集合t共有的元素。
功能:返回两个集合的交集元素。
若集合s与t无公共元素,则返回空集合。

函数s.difference_update(t)用于将集合s更新为s与t的差集。
功能:若集合s中存在t的任意元素,则将其删除;否则保持s不变并返回。

函数s.symmetric_difference_update(t)用于将集合s更新为与集合t的对称差集。
功能:返回既不在集合s也不在集合t中的元素,构成新集合。
相当于执行异或运算。

函数s.remove(x)与s.discard(x)均可移除集合s中的元素x。
`remove`与`discard`都能从集合s中移除元素x,功能类似。然而,`remove`若x不在集合中会引发KeyError异常,而`discard`则不报错且不执行任何操作,更加安全稳健。

函数s.add(x)用于向集合添加元素。
该函数功能与remove()相反,用于向集合s中添加一个元素x。

函数s.pop()用于弹出栈顶元素
从集合s中移除并返回一个元素。
该函数每次移除并返回集合中索引为0的元素。

函数s.clear()用于清空集合s
清空集合s中的全部元素
