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 中的元素其实是乱序的,这也印证了最开始提到的集合是无序的

目录
相关文章
|
29天前
|
人工智能 Ubuntu IDE
【Python】基础:环境配置与基础语法
本文介绍了Python编程语言及其环境配置方法。Python由Guido van Rossum于1991年创建,以其简洁、易学和强大的功能著称。文章详细讲解了Python的主要特点、Windows和Ubuntu下的安装配置步骤、基础语法、控制流、函数、文件操作、模块使用及面向对象编程等内容,帮助读者快速入门Python编程。
55 4
|
27天前
|
安全 网络安全 文件存储
思科设备巡检命令Python脚本大集合
【10月更文挑战第18天】
62 1
思科设备巡检命令Python脚本大集合
|
8天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
18天前
|
存储 Python Perl
python正则语法
本文介绍了正则表达式的基础知识及其在 Python 中的应用。首先解释了为什么要使用正则表达式,通过一个判断手机号的示例展示了正则表达式的简洁性。接着详细介绍了 `re` 模块的常用方法,如 `match()`、`search()`、`findall()`、`finditer()` 等,并讲解了正则表达式的基本语法,包括匹配单个字符、数字、锚字符和限定符等。最后,文章还探讨了正则表达式的高级特性,如分组、编译和贪婪与非贪婪模式。
16 2
|
24天前
|
存储 程序员 开发者
Python编程入门:从零开始掌握基础语法
【10月更文挑战第21天】本文将带你走进Python的世界,通过浅显易懂的语言和实例,让你快速了解并掌握Python的基础语法。无论你是编程新手还是想学习一门新的编程语言,这篇文章都将是你的不二之选。我们将一起探索变量、数据类型、运算符、控制结构、函数等基本概念,并通过实际代码示例加深理解。准备好了吗?让我们开始吧!
|
1月前
|
存储 缓存 API
解密 Python 集合的实现原理
解密 Python 集合的实现原理
38 11
|
1月前
|
存储 自然语言处理 数据处理
使用Python计算多个集合的交集详解
使用Python计算多个集合的交集详解
38 1
|
1月前
|
存储 C语言 索引
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
本文全面介绍了Python的基础知识,包括Python的诞生背景、为什么学习Python、Python的应用场景、Python环境的安装、Python的基础语法、数据类型、控制流、函数以及数据容器的使用方法,旨在为Python零基础读者提供一篇全面掌握Python语法的博客。
42 0
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
|
1月前
|
存储 数据可视化 数据处理
【Python篇】快速理解Python语法:全面指南
【Python篇】快速理解Python语法:全面指南
46 1
|
2月前
|
存储 API 索引
Python 的集合是怎么实现的?
Python 的集合是怎么实现的?
48 9