zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python 基础(十一):集合

2023-09-11 14:22:52 时间

在这里插入图片描述

❤️ 博客主页:水滴技术
🌸 订阅专栏:Python 入门核心技术
🚀 支持水滴:点赞👍 + 收藏⭐ + 留言💬


大家好,我是水滴~~

本篇文章主要介绍 Python 中的集合 set,主要内容包括:声明集合、添加元素、删除元素、判断元素是否属于集合、清空集合元素、集合的长度、取交集、取并集、取差集。

集合(set)是由一系列无序的、没有重复的元素组成。集合对象还支持数学运算,例如:并集、交集、差集等。

一、声明集合

1.1、使用 {} 声明集合

在 Python 中,使用大括号 {} 来声明一个集合,元素之间使用逗号 , 隔开。

names = {"张三", "李四", "王五"}  # 声明一个名为 names 的集合

print(type(names))  # 打印 names 集合的类型

输出结果:

<class 'set'>

1.2、声明空的集合

如何想要声明一个空的集合,可以使用 set() 函数。

sets = set()  # 声明一个空的集合

print(type(sets))  # 打印集合的类型

输出结果:

<class 'set'>

1.3、自动过滤重复元素

在集合中,重复的元素会被自动过滤掉。注意:由于集合是无顺的,所以每次输出集合时,元素的位置可能不一样。

names = {"张三", "李四", "王五", "张三"}  # 声明一个名为 names 的集合

print(names)  # 打印 names 集合

输出结果:

{'张三', '李四', '王五'}

二、添加元素

2.1、添加一个元素

可以使用集合的 add() 方法,向集合中添加一个新的元素。注意:如果集合中已经存在该元素,则不执行操作。

names = {"张三", "李四", "王五"}  # 声明一个名为 names 的集合

names.add("水滴")  # 向 names 集合中添加一个新的元素

print(names)  # 打印 names 集合

输出结果:

{'水滴', '张三', '王五', '李四'}

2.2、添加多个元素

可以使用集合的 update() 方法,向集合中添加多个元素,而参数可以是列表、元组、字典等。

names = {"张三", "李四", "王五"}  # 声明一个名为 names 的集合

names.update(["水滴", "小明"])  # 向 names 集合中添加一个列表

print(names)  # 打印 names 集合

输出结果:

{'李四', '张三', '水滴', '小明', '王五'}

三、删除元素

3.1、删除一个元素,元素必须存在

可以使用集合的 remove() 方法,从集合中删除一个指定的元素。注意:该方法要求元素必须存在,如果不存在会抛出异常:KeyError

names = {"张三", "李四", "王五"}  # 声明一个名为 names 的集合

names.remove("李四")  # 从 names 集合中删除一个元素

print(names)  # 打印 names 集合

输出结果:

{'王五', '张三'}

3.2、删除一个元素,元素可以不存在

可以使用集合的 discard() 方法,从集合中删除一个指定的元素。即使该元素不存在,也不会抛出任何异常。

names = {"张三", "李四", "王五"}  # 声明一个名为 names 的集合

names.discard("李四")  # 从 names 集合中删除一个元素

print(names)  # 打印 names 集合

输出结果:

{'张三', '王五'}

3.3、随机删除一个元素

可以使用集合的 pop() 方法,随机的从集合中删除一个元素。

names = {"张三", "李四", "王五"}  # 声明一个名为 names 的集合

names.pop()  # 随机从 names 集合中删除一个元素

print(names)  # 打印 names 集合

输出结果:(注意:由于是随机删除,可能每次执行的结果都不同)

{'张三', '李四'}

四、判断元素是否属于集合

可以使用 in 函数,来判断一个元素是否属于集合。

names = {"张三", "李四", "王五"}  # 声明一个名为 names 的集合

print("张三" in names)  # 判断元素是否属于 names 集合
print("水滴" in names)  # 判断元素是否属于 names 集合

输出结果:

True
False

五、清空集合元素

可以使用集合的 clear() 方法,来清空集合中的元素。

names = {"张三", "李四", "王五"}  # 声明一个名为 names 的集合

names.clear()  # 清空 names 集合中的元素

print(names)  # 打印 names 集合

输出结果:

set()

六、集合的长度

可以使用 len() 函数来计算集合的长度(元素个数)。

names = {"张三", "李四", "王五"}  # 声明一个名为 names 的集合

print(len(names))  # 打印 names 集合的长度

输出结果:

3

七、数学运算

7.1、交集

可以通过 intersection() 方法或 & 运算符,来获取两个集合的交集。

a = {1, 2, 3, 4, 5}  # 声明一个名为 a 的集合
b = {4, 5, 6, 7, 8}  # 声明一个名为 b 的集合

print(a.intersection(b)) # 打印两个集合的交集
print(a & b) # 打印两个集合的交集

输出结果:

{4, 5}
{4, 5}

7.2、并集

可能通过 union() 方法或 | 运算符,来获取两个集合的并集。

a = {1, 2, 3, 4, 5}  # 声明一个名为 a 的集合
b = {4, 5, 6, 7, 8}  # 声明一个名为 b 的集合

print(a.union(b)) # 打印两个集合的并集
print(a | b) # 打印两个集合的并集

输出结果:

{1, 2, 3, 4, 5, 6, 7, 8}
{1, 2, 3, 4, 5, 6, 7, 8}

7.3、差集

可以通过 difference() 方法或 - 运算符,来获取两个集合的差集。注意:集合的顺序不同,取的差集意义不同,其结果也不同。

a = {1, 2, 3, 4, 5}  # 声明一个名为 a 的集合
b = {4, 5, 6, 7, 8}  # 声明一个名为 b 的集合

print(a.difference(b)) # 打印 a 与 b 的差集
print(a - b) # 打印 a 与 b 的差集

print(b.difference(a)) # 打印 b 与 a 的差集
print(b - a) # 打印 b 与 a 的差集

输出结果:

{1, 2, 3}
{1, 2, 3}
{6, 7, 8}
{6, 7, 8}

系列文章

🔥 Python 基础(一):初识 Python
🔥 Python 基础(二):搭建 Python 开发环境
🔥 Python 基础(三):Python 集成开发工具 IDLE
🔥 Python 基础(四):基础语法
🔥 Python 基础(五):变量与常量
🔥 Python 基础(六):基本数据类型
🔥 Python 基础(七):常用运算符
🔥 Python 基础(八):流程控制语句
🔥 Python 基础(九):列表
🔥 Python 基础(十):元组

热门专栏

👍 《Python入门核心技术
👍 《IDEA 教程:从入门到精通
👍 《Java 教程:从入门到精通
👍 《MySQL 教程:从入门到精通
👍 《大数据核心技术从入门到精通