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 ...
随机推荐
- 手把手教你制作微信小程序,开源、免费、快速搞定
最近做了个"罗孚传车"的小程序 一时兴起,做了一个小程序,将个人收集的同汽车相关的行业资讯和学习资料,分享到小程序中,既作为历史资料保存,又提供给更多的人学习和了解,还能装一下:) ...
- 利用StringEscapeUtils来转义和反转义html/xml/javascript中的特殊字符
我们经常遇到html或者xml在Java程序中被某些库转义成了特殊字符. 例如: 各种逻辑运算符: > >= < <= == 被转义成了 == ...
- Windows两个网卡配置路由规则 同时访问内网和外网
电脑上有两个网卡,一个有线一个无线,有线连局域网,无线连外网,虽然两个网都连着,但还是会出现访问不通的情况. 这就要求我们自己来配置路由规则,让内网的访问走内网的网卡,外网的访问走外网的网卡. 一.查 ...
- Debug 路漫漫-07
201811—201903??? 1)关于训练参数是复数的问题 ——q_k ^theta q_k(是item的特征矩阵)中有可能是负数,而指数 theta 如果是含小数点的话,就会产生复 ...
- Tomcat connectionTimeout问题定位处理
问题现象 在某个时刻,后端收到了平时4-6倍的请求(保密起见,略去产品和事件),在10分钟后居然没有请求可以接进来 问题原因 经过分析,首先,是后端服务器的线程池满了,线程池满的原因:1.server ...
- Effective Java 第三版——74. 文档化每个方法抛出的所有异常
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...
- [转]如何实现一个malloc
任何一个用过或学过C的人对malloc都不会陌生.大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉.但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至 ...
- 基于Kafka的生产者消费者消息处理本地调试
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/68174111冷血之心的博客) Kafka下载地址:http://d ...
- iOS开发下载文件速度计算
当我们写下载界面的时候,需要向用户展示每秒下载多少KB,这个时候就需要计算速度.如下: 我用的是AFNetworking来做下载的,我们拿AFHTTPRequestOperation来举列,AFHTT ...
- [Java并发编程(一)] 线程池 FixedThreadPool vs CachedThreadPool ...
[Java并发编程(一)] 线程池 FixedThreadPool vs CachedThreadPool ... 摘要 介绍 Java 并发包里的几个主要 ExecutorService . 正文 ...