小白学 Python(15):基础数据结构(集合)(下)

人生苦短,我选Python
前文传送门
集合内置方法
集合和列表、字典、元组等一样,都提供了很多的内置方法。
既然是集合,那我们先看下这张经典的韦恩图(Venn diagram):

具体的实现代码如下:
set1 = {1, 2, 3, 4, 5, 6}
set2 = {4, 5, 6, 7, 7, 9}
# 求交集
set3 = set1.intersection(set2)
print('交集:', set3)
# 求并集
set4 = set1.union(set2)
print('并集:', set4)
# 做差
set5 = set1.difference(set2)
print('做差:', set5)
结果如下:
交集: {4, 5, 6}
并集: {1, 2, 3, 4, 5, 6, 7, 9}
做差: {1, 2, 3}
set.add()
作用:为集合添加元素
set6 = {1, 2, 3}
set6.add(4)
print(set6)
set6.add('python')
print(set6)
set6.add((1, 2))
print(set6)
结果如下:
{1, 2, 3, 4}
{1, 2, 3, 4, 'python'}
{(1, 2), 1, 2, 3, 4, 'python'}
set.update()
作用:给集合添加元素
set7 = {1, 2}
set7.update({3, 4, 'python', (4, 5)})
print(set7)
结果如下:
{1, 2, 3, 4, 'python', (4, 5)}
好像看起来 update() 和 add() 功能是一样的,区别在于 add() 参数只能是单个元素,而 update() 中的参数是一个 set 集合。
set.pop()
作用:随机移除元素。
set7.pop()
print(set7)
结果如下:
{2, 3, 4, 'python', (4, 5)}
随机删除,个人感觉功能可能有点没什么实际作用,毕竟是随机删除。。。
set.remove()
作用:移除指定元素。
相比较上面 pop() 的随机删除,在删除元素的时候更多的我们是使用的 remove() 或者下面我们将要介绍的 discard()。
set8 = {1, 2, 3, 4}
set8.remove(4)
print(set8)
结果如下:
{1, 2, 3}
如果删除的元素不存在,则会直接报错。
set8.remove(9)
结果如下:
Traceback (most recent call last):
File "F:/project/python-learning/base-data-set/Demo1.py", line 34, in <module>
set8.remove(9)
KeyError: 9
set.discard()
作用:删除集合中指定的元素,元素不存在则什么都不做。
set8.discard(9)
print(set8)
结果如下:
{1, 2, 3}
set.clear()
作用:清除集合中的所有元素,并不会清除集合。
set9 = {1, 2, 3}
set9.clear()
print(set9)
结果如下:
set()
set.isdisjoint()
作用:判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
set10 = {1, 2, 3}
set11 = {1, 2}
set12 = {4, 5}
print(set10.isdisjoint(set11))
print(set10.isdisjoint(set12))
结果如下:
False
True
set.issubset()
作用:判断指定集合是否为该方法参数集合的子集。
print(set11.issubset(set10))
print(set12.issubset(set10))
结果如下:
True
False
set.issuperset()
作用:判断该方法的参数集合是否为指定集合的子集。
print(set10.issuperset(set11))
print(set10.issuperset(set12))
结果如下:
True
False
注意哦, issubset() 和 issuperset() 是不一样的哦,看起来都是判断子集,但是参数的含义是不一样的。
各位同学一定要自己动手敲代码哦~~
示例代码
本系列的所有代码小编都会放在代码管理仓库 Github 和 Gitee 上,方便大家取用。
小白学 Python(15):基础数据结构(集合)(下)的更多相关文章
- 小白学 Python(14):基础数据结构(集合)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(10):基础数据结构(列表)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(13):基础数据结构(字典)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(17):基础数据类型(函数)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(24):Excel 基础操作(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(9):基础数据结构(列表)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(11):基础数据结构(元组)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(12):基础数据结构(字典)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(6):基础运算符(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
随机推荐
- gulp简单使用
1.安装gulp,由于某些在下不能解决的原因,故使用gulp 3.9.1版本 安装命令: npm install gulp@3.9.1 注意不要直接使用 : npm install gulp 安装,直 ...
- 基于 HTML5 WebGL 的垃圾分类系统
前言 垃圾分类,一般是指按一定规定或标准将垃圾分类储存.分类投放和分类搬运,从而转变成公共资源的一系列活动的总称.分类的目的是提高垃圾的资源价值和经济价值,力争物尽其用.垃圾在分类储存阶段属于公众的私 ...
- Maven私服Nexus的搭建
# Maven私服Nexus的搭建 ## 私服存在的合理性 Maven中的依赖是从服务器仓库中下载的,Maven的仓库只有两大类: - 1) 本地仓库 - 2) 远程仓库,其中在远程仓库中又分成了3种 ...
- Mac OS Catalina 如何删除自带的应用
在新推送的系统升级过后,(博主系统是Mac OS Mojave 10.14)我们会发现,之前我们删除的令人讨厌的Mac自带应用又回来了,如果我们还按照之前百度的方式删除的话,参考: https://w ...
- 用CSS绘制实体三角形并说明原理
;;margin:0 auto;border:6px solid transparent;border-top: 6px solid red;} 1.采用的是均分原理 盒子都是一个矩形或正方形,从形状 ...
- ini 文件操作指南
今天总结一篇工具箱文章. ini 类型文件通常作为程序的初始化文件.不同于我们常见的配置文件通篇 key-value 的键值对形式,ini 文件在键值对的基础之上还有分类节点,比如我们常见的 Mysq ...
- (图解)windows下自定义Eclipse主题
之前用过一些编辑器如SublimeText,IDE如phpstorm,IDEA等:这些工具给我的感觉就是,除了给予这些工具应有的功能外,给予开发者更友好,更舒服的界面.Eclipse很早就开始使用了, ...
- 【干货系列之萌新知识点】python与变量和运算符
一.注释 注释一行:# 为注释符 注释多行:'或者"为注释符 二.print输出 print()函数,作用是打印一些信息语屏幕上. 例如:print("hello world!&q ...
- abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理五 (二十三)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- 无 PowerShell.exe 执行 Empire 的几种姿势
在实战中,Empire成为域渗透.后渗透阶段一大利器,而Empire是一个Powershell RAT,所以PowerShell必须要能运行Empire中几乎所有的启动方法都依赖于使用PowerShe ...