Python集合基础与操作详解:创建、增删改查及集合运算

雨后青山
雨后青山
发布时间:2026-10-12| 3人浏览过
原创

本文详细讲解Python中集合(set)的核心概念与常用操作。涵盖集合的无序、可变及唯一性特征,介绍set()与花括号两种创建方式。重点演示add与update添加元素的区别,以及remove、pop、discard和clear四种删除方法的行为差异。最后通过示例解析集合的交集、并集与差集运算,帮助开发者掌握去重与数据筛选技巧。

一、集合的基本信息

集合(set)是Python中的一种内置数据类型,其核心特征是无序且元素唯一。由于具备自动去重的特性,集合常被用于处理元组或列表中的重复元素,以实现数据清洗或去重需求。

在Python中,创建集合主要有两种格式:一是通过内置函数set()进行实例化,例如 set1 = set();二是直接使用花括号 {} 包裹元素,例如 a={值1,值2}。需要注意的是,空集合必须使用 set() 创建,因为 {} 在Python中表示空字典。

集合具备三大主要特性:无序性(元素没有固定顺序)、可变性(支持添加和删除元素)以及唯一性(自动去除重复值,实现去重效果)。

以下是集合基本特性的演示案例:

a=set()
print(type(a))

运行上述代码后的输出结果如下:

二、集合的基本操作

对集合进行元素添加主要涉及两个方法:add() 和 update()。

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

具体使用案例如下:

a={1,333,4,5,"小明","小红",1,4,4}
a.add(6)
a.add(45)
print(a)

执行该段代码后,集合将包含新添加的元素,结果如下:

update() 方法则用于添加多个元素。其特殊之处在于,它会将传入的参数(如字符串或可迭代对象)拆分为独立的个体,并逐个添加到集合中。

update() 方法的使用案例如下:

a={1,333,4,5,"小明","小红",1,4,4}
a.update("xz")
print(a)

运行 update("xz") 后,字符 'x' 和 'z' 被分别加入集合,结果如下:

删除集合中的元素可通过 remove()、pop()、discard() 和 clear() 实现。

remove() 方法用于指定删除集合中的某个元素。若该元素存在,则直接删除;若不存在,程序将抛出 KeyError 错误。

remove() 方法的操作案例如下:

a={11,2,3,4,5,8,45,47,55,67,78}
a.remove(3)
print(a)

当元素存在时,删除成功,结果如下:

pop() 方法用于随机删除并返回集合中的一个元素。如果集合为空(即 set1 没有元素),调用 pop() 将导致程序报错。

pop() 方法的操作案例如下:

a={11,2,3,4,5,8,45,47,55,67,78}
a.pop()
print(a)

由于删除是随机的,具体结果取决于内部哈希顺序,示例结果如下:

discard() 方法用于删除指定元素。与 remove() 不同,如果元素存在则直接删除;如果元素不存在,程序不会报错,而是静默忽略该操作。

discard() 方法的操作案例如下:

a={11,2,3,4,5,8,45,47,55,67,78}
a.discard(3)
print(a)

无论元素是否存在,程序均正常运行,结果如下:

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

clear() 方法的操作案例如下:

a={11,2,3,4,5,8,45,47,55,67,78}
a.clear()
print(a)

执行 clear() 后,集合内容为空,结果如下:

3、集合的交集、并集和差集

集合间的运算主要包括交集、并集和差集,分别对应符号 & 和 intersection()、| 和 union()、- 和 difference()。

交集运算示例1:使用 & 符号

a={3,4,55,6,7,8}
b={3,5,6,90,33}
print(a&b)

使用 & 符号获取两个集合的公共元素,结果如下:

交集运算示例2:使用 intersection() 方法

a={3,4,55,6,7,8}
b={3,5,6,90,33}
print(a.intersection(b))

使用 intersection() 方法获取两个集合的公共元素,结果如下:

并集运算使用 | 符号和 union() 方法,用于合并两个集合的所有元素并去重。

并集运算示例1:使用 | 符号

a={3,4,55,6,7,8}
b={3,5,6,90,33}
print(a|b)

使用 | 符号合并两个集合,结果如下:

并集运算示例2:使用 union() 方法

a={3,4,55,6,7,8}
b={3,5,6,90,33}
print(a.union(b))

使用 union() 方法合并两个集合,结果如下:

差集运算使用 - 符号和 difference() 方法,用于获取存在于第一个集合但不存在于第二个集合的元素。

差集运算示例1:使用 - 符号

以上就是Python关于集合知识的详细内容,更多关于Python集合知识的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。