Python的进阶之道【AIoT阶段一(上)】(十五万字博文 保姆级讲解)—玩转Python语法(一):面向过程—背上我的行囊—集合(2)(十八)

简介: 玩转Python语法(一):面向过程

4.4.3 集合之间的关系

🚩关于集合,我们给出这么几种关系:

1️⃣ 集合A和集合B相等:如果集合A中的元素和集合B中的元素是一模一样的,那么称集合A和集合B相等。❗️ 注意:我们之前说过,集合是无序的,故对于集合{1, 2, 3, 4}其实和集合{4, 3, 2, 1}是相等的,判断两个集合相等,我们使用 != == 去判断:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/14 13:18
# 欢迎大家关注AIoT相关博客~
a = {1, 2, 3, 4}
b = {4, 1, 3, 2}
c = {1, 2, 3}
print(a == b)
print(a != c)

image.png

2️⃣ 集合A是集合B的子集:在集合A中的元素都存在于集合B之中,集合A是集合B的子集,我们也称集合B是集合A的超集,如果集合A是集合B的子集,且集合A不等于集合B,那么称集合A是集合B的真子集:

image.png

我们在代码中可以用 issubset() 和 issuperset() 分别判断子集和超集,也可以使用 < <= >= 去判断两个集合之间的关系:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/14 13:20
# 欢迎大家关注AIoT相关博客~
a = {1, 2, 3}
b = {1, 2, 3, 4}
# 用 issubset() 判断a是否为b的子集:
print(a.issubset(b))
# 用 <= 判断a是否为b的子集:
print(a <= b)
# 用 < 判断a是否为b的真子集:
print(a < b)
# 用 issuperset() 判断b是否为a的超集:
print(b.issuperset(a))
# 用 >= 判断b是否为a的超集:
print(b >= a)

image.png

3️⃣ 判断两个集合是否有交集:使用方法 isdisjoint() 判断两个集合是否 没有交集,如果两个集合有交集返回 False,如果两个集合没有交集返回 True:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/14 13:28
# 欢迎大家关注AIoT相关博客~
a = {1, 2, 3, 4}
b = {4, 5, 6}
c = {7, 8, 9}
# isdisjoint() 有交集返回False,没有交集返回True
# 判断a和b是否没有交集:
print(a.isdisjoint(b))
# 判断a和c是否没有交集:
print(a.isdisjoint(c))

image.png

4️⃣ 交集、并集、差集、对称差集:

image.png

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/14 17:54
# 欢迎大家关注AIoT相关博客~
a = {1, 2, 3}
b = {3, 4, 5}
print('----------求 a 和 b 的交集:----------')
print(a.intersection(b))
print(a & b)
print('----------求 a 和 b 的并集:----------')
print(a.union(b))
print(a | b)
print('----------求 a 和 b 的差集:----------')
print(a.difference(b))
print(a - b)
print('----------求 a 和 b 的对称差集:----------')
print(a.symmetric_difference(b))
print(a ^ b)

image.png

*4.4.4 集合常用函数(方法)汇总

注:本小节带 *,不需要进行学习,可以简单进行了解

⛲️ 本小节可以说还是比较重要的,但为什么本小节打 * 了呢?这是因为我们没必要去记忆这些函数/方法(期末考试除外),在我们需要的时候我们只需要来本小节去查找用法即可

函数(方法) 用法介绍
set() 将一连串的对象转为集合
del 删除集合
add() 将集合中加入一个新的元素,如果原集合中已有该元素则忽略此操作
update() 将另一个集合中的元素加入到该集合中,并自动去重
remove(x) 删除指定的元素x,如果x不存在则显示KeyError
discard(x) 删除指定的元素x,如果x不存在则忽略本操作
pop() 删除集合中的第一个元素
clear() 清空集合
issubset() 判断一个集合是否为另一个集合的子集
issuperset() 判断一个集合是否为另一个集合的超集
issubset() 判断一个集合是否为另一个集合的子集
isdisjoint() 判断两个集合是否没有交集,没有交集返回True,有交集返回False
intersection() 求两个集合的交集
union() 求两个集合的并集
difference() 求两个集合的差集
symmetric_difference() 求两个集合的对称差集

4.4.5 集合生成式

🚩集合生成式其实和列表生成式是一模一样的,只是把[]换成了{},注意列表,集合,字典都有属于自己的生成式,只有元组没有元组生成式。

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/14 18:36
# 欢迎大家关注AIoT相关博客~
a = {i * i for i in range(10)}
print(a)

image.png

我们可以看到集合 a 中的元素其实是乱序的,这也印证了最开始提到的集合是无序的

目录
相关文章
|
2月前
|
存储 JSON 算法
Python集合:高效处理无序唯一数据的利器
Python集合是一种高效的数据结构,具备自动去重、快速成员检测和无序性等特点,适用于数据去重、集合运算和性能优化等场景。本文通过实例详解其用法与技巧。
123 0
|
3月前
|
存储 索引 Python
python 集合的所有基础知识
python 集合的所有基础知识
161 0
|
1月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
109 4
|
2月前
|
机器学习/深度学习 数据采集 并行计算
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
282 2
|
7月前
|
存储 缓存 安全
Python frozenset 集合详解:不可变集合的终极指南
frozenset是Python中一个常被忽视但极具价值的不可变集合类型。本文深入解析其本质、操作方法与应用场景,揭示其通过不可变性带来的安全性与性能优势。从底层实现到实战案例,涵盖字典键使用、缓存优化及类型注解等高级场景。同时对比性能数据,提供最佳实践指南,并展望Python 3.11+中的优化。掌握frozenset,可为代码带来更强健性与效率,适合多种特定需求场景。
291 5
|
8月前
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
|
8月前
|
Python
课时19:Python的基本语法
今天给大家带来分享的是 Python 的基本语法,分为以下六个部分。 1.在 Python 中严格区分大小写 2.Python 中的每一行就是一条语句,每条语句以换行结束 3.Python 中每一行语句不要过长 4.条语句可以分多行编写,语句后边以\结尾 5.Python 是缩进严格的语言,不要随便写缩进 6.在 Python 中使用#来表示注释
146 2
|
12月前
|
存储 索引 Python
Python 的基本语法
这些是 Python 的基本语法要素,掌握它们是学习和使用 Python 的基础。通过不断地实践和应用,你将能够更深入地理解和熟练运用这些语法知识,从而编写出高效、简洁的 Python 代码
477 61
|
10月前
|
存储 开发者 Python
python基本语法
Python的基本语法简洁而强大,支持多种编程范式,包括面向对象编程和函数式编程。通过掌握变量和数据类型、操作符、控制结构、函数、类和模块等基本概念,可以有效地编写高效、可读的Python代码。无论是初学者还是经验丰富的开发者,Python都提供了丰富的工具和库来满足各种编程需求。
326 13
|
2月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
242 102

推荐镜像

更多