Python学习之旅(九)
Python基础知识(8):集合
集合:由不同元素组成,无序的,不重复的序列
补充知识:可变类型:列表、字典;不可变类型:数字、字符串、元组
使用大括号{}或set()方法定义集合
se=set("hello")
se
结果:
{'e', 'o', 'l', 'h'}
可以使用set方法对列表进行去重
注:创建一个空集合必须用 set() 而不是 { }, { } 是用来创建一个空字典。
定义不可变字符要用frozenset方法,用add、remove、update方法无法改变frozenset定义的集合
集合的运算
交集&、并集|、补集(差集)-、对称补集^、子集<、超集(父集)>
交集 &
并集 |
补集(差集) -
对称补集 ^
子集 <
超集(父集) >
1、intersection:求交集
s1={1,2,3,4}
s2={7,2,4,9,10}
s1.intersection(s2)
结果:{2, 4}
2、union:求并集
s1={1,2,3,4}
s2={7,2,4,9,10}
s1.union(s2)
结果:
{1, 2, 3, 4, 7, 9, 10}
3、difference:求差集
s1={1,2,3,4}
s2={7,2,4,9,10}
s1.difference(s2)
结果:
{1, 3}
s2.difference(s1)
结果:
{9, 10, 7}
4、symmetric_difference:交叉并集
交叉并集可以看做并集减去交集
s1={1,2,3,4}
s2={7,2,4,9,10}
s1.symmetric_difference(s2)
结果:
{1, 3, 7, 9, 10}
集合方法
1、add:添加元素
2、clear:清除元素
3、copy:复制
4、pop:随机移除元素
5、remove:移除指定元素,若元素不存在则报错
6、discard:删除元素,若元素不存在不会报错
7、difference_update:求出差集后并对该集合进行更新
8、intersection_update:求出交集后并对该集合进行更新
9、isdisjoint:判断两个集合是否包含相同的元素,包含返回False,否则返回True
s1={1,2,3,4}
s2={7,2,4,9,10}
s1.isdisjoint(s2)
结果:False
10、issubset:判断一个集合的元素是否都在另一个集合中
s1={1,2,3,4}
s3={1, 2, 3, 4, 7, 9, 10}
s1.issubset(s3)
结果:True
11、issuperset:判断一个集合的元素是否包含另一个集合中的所有元素
s1={1,2,3,4}
s3={1, 2, 3, 4, 7, 9, 10}
s3.issuperset(s1)
结果:True
12、symmetric_difference_update:求出交叉并集后并对该集合进行更新
13、update:对多个元素进行更新
Python学习之旅(九)的更多相关文章
- 180分钟的python学习之旅
最近在很多地方都可以看到Python的身影,尤其在人工智能等科学领域,其丰富的科学计算等方面类库无比强大.很多身边的哥们也提到Python非常的简洁方便,比如用Django搭建一个见得网站只需要半天时 ...
- Python学习笔记(九)
Python学习笔记(九): 装饰器(函数) 内置函数 1. 装饰器 1. 作用域 2. 高阶函数 3. 闭包 如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就 ...
- Python学习系列(九)(IO与异常处理)
Python学习系列(九)(IO与异常处理) Python学习系列(八)( 面向对象基础) 一,存储器 1,Python提供一个标准的模块,称为pickle,使用它既可以在一个文件中存储任何Pytho ...
- python学习之旅
python学习分类 python基础 +- day01——python初始.变量.常量.注释.基础数据类型.输入.if day02——while.字符串格式化.运算符.编码初识 day03—— ...
- Python学习之旅(二十九)
Python基础知识(28):常用第三方模块 一.Pillow PIL(Python Imaging Library):提供了强大的图像操作功能,可以通过简单的代码完成复杂的图像处理,是Python平 ...
- Python学习之旅(十九)
Python基础知识(18):面向对象高级编程(Ⅰ) 使用__slots__:限制实例的属性,只允许实例对类添加某些属性 (1)实例可以随意添加属性 (2)某个实例绑定的方法对另一个实例不起作用 (3 ...
- python学习笔记-(九)模块
基础知识 1. 定义 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑----实现一个功能),本质就是.py结尾的python文件(文件名:test.py,对应的模块就是test) 包:用 ...
- python学习之旅:array 转 list
最近学习python,记录学习的点滴. >>> import numpy as np >>> a = np.array([[1,2],[3,4]]) >> ...
- python学习笔记之九:模块和包
Python的标准安装包括一组模块,称为标准库.这里介绍模块的工作方式,学习如何使用它们. 一. 模块 1.1 用import从外部模块获取函数并为自己的程序所用: >>> from ...
随机推荐
- ssh-免密登录批量发送脚本
1.新建node文件(文件中为需要发送的节点,不能包含主文件服务器) node01 node02 node03 node04 2.ssh的免密登录批处理脚本(需要同级目录下的nodes文件) #!/b ...
- 一句话Javascript实现价格格式化
//小数点后面如果超过3位则转换错误,如1.1234 正确的是1.1234但却错误的转换成了1.1,234 var test1 = '1234567890.123' var format = test ...
- nrm管理npm源
npm源:npm install命令下载需要依赖包的服务器地址,默认是 npm ---- https://registry.npmjs.org/ 而国外的源速度太慢,所以我们一般都用国内的淘宝源tao ...
- mysql分组用法
--select num from 表 group by num --select num from 表 group by num,nid --特别的:group by 必须在where之后,orde ...
- [转] 分组排序取前N条记录以及生成自动数字序列,类似group by后 limit
前言: 同事的业务场景是,按照cid.author分组,再按照id倒叙,取出前2条记录出来. oracle里面可以通过row_number() OVER (PARTITIO ...
- [转]awsome-java
原文链接 Awesome Java A curated list of awesome Java frameworks, libraries and software. Contents Projec ...
- Unity应用架构设计(2)——使用中介者模式解耦ViewModel之间通信
当你开发一个客户端应用程序的时候,往往一个单页会包含很多子模块,在不同的平台下,这些子模块又被叫成子View(视图),或者子Component(组件).越是复杂的页面,被切割出来的子模块就越多,子模块 ...
- css3 box-shadow 使用方法详解
其用法为: 代码如下 复制代码 box-shadow: x-offset y-offset blur spread color inset; 上述六个参数含义依次是水平方向的偏移(正值向右偏移,负值 ...
- SQL SERVER数据库删除LOG文件和清空日志的方案
原文:SQL SERVER数据库删除LOG文件和清空日志的方案 数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文 ...
- myeclipse 从数据库生成java实体类