集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据
集合的作用:
1、它可以把一个列表中重复的数据去掉,而不需要你再写判断
2、可以做关系测试,比如说有两个班,一个性能测试班,一个是接口测试班的,想找出来既学习了性能又学习了接口测试的同学,就可以用集合

一、集合的定义

s = set()  #定义空集合

s1={'hehe','hehe1','hehe3'}  #直接定义一个集合

list = [2,3,1,2,3,4]  #定义一个list

s_list = set(list)  #将list转成集合

set1 = set([1,3,4,5,6])  #这种方式和上面的都是把list转换成一个集合

二、新增集合元素
新增集合元素,可使用add和update,这二者间区别用下面两个例子说明

s = {'a','b','c','d'}

s.add('') 

print(s)     #打印结果为:{'c', 'd', 'b', '123', 'a'}

s.update('')  #update是把另外一个集合加进去
s.update({7,8,9}) print(s) #打印结果为:{'d', '5', 'b', 'c', 'a', '6', '4'}
print(s) #打印结果为:{'c', 'b', 7, 8, 'a', 'd', 9}

三、删除集合元素

s.remove('d')     #删除指定元素,删除不存在的元素会报错

s.pop()           #随机删除一个元素

s.discard('kfc')  #如果删除的元素存在,删除,不存在不做处理

print(s)

del s             # 删除集合

四、集合的常用操作
4.1 交集:就是两个集合相同的元素

s2 = set('')

s3 = {'','','','','','','',''}

print(s3 & s2)   #取交集

print(s3.intersection(s2))  #取交集

print(s2.isdisjoint(s3))  #判断s2和s3是否没有交集,没有交集的话返回True,有交集则返回False

4.2 并集:就是把两个集合合并到一起,然后去重

print(s2 | s3)  #取并集

print(s2.union(s3))  #取并集

4.3 差集:A,B是两个集合,以属于A而不属于B的元素为元素的集合称为A与B的差集

s4 = {1,2,3}

s5 = {1,4,6}

print( s4 - s5)  #取差集  s4里有,s5里没有的

print(s4.difference(s5)) #取差集  s4里有,s5里没有的

#打印结果:{2,3}

4.4 对称差集:就是合并两个集合,然后去掉俩集合里面都有的

print(s4 ^ s5)

print(s4.symmetric_difference(s5))

#打印结果:{2, 3, 4, 6}

python----集合用法总结的更多相关文章

  1. python集合与字典的用法

    python集合与字典的用法 集合: 1.增加  add 2.删除   •del 删除集合 •discard(常用)删除集合中的元素  #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...

  2. Python import用法以及与from...import的区别

    Python import用法以及与from...import的区别 在python用import或者from...import来导入相应的模块.模块其实就是一些函数和类的集合文件,它能实现一些相应的 ...

  3. 『无为则无心』Python序列 — 22、Python集合及其常用操作

    目录 1.Python集合特点 2.Python集合的创建 3.操作集合常用API (1)增加数据 @1.add()方法 @2.update()方法 (2)删除数据 @1.remove()方法 @2. ...

  4. Python 集合set添加删除、交集、并集、集合操作符号

    在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...

  5. [转]python集合set

    Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 来源网 ...

  6. Python高级用法总结

    Python很棒,它有很多高级用法值得细细思索,学习使用.本文将根据日常使用,总结介绍Python的一组高级特性,包括:列表推导式.迭代器和生成器.装饰器. 列表推导(list comprehensi ...

  7. python argparse用法总结

    转:python argparse用法总结 1. argparse介绍 argparse是python的一个命令行解析包,非常适合用来编写可读性非常好的程序. 2. 基本用法 prog.py是我在li ...

  8. python集合使用范例的代码

    在代码过程中中,将代码过程中比较好的代码段珍藏起来,如下的代码是关于python集合使用范例的代码,希望能对大伙有用. # sets are unordered collections of uniq ...

  9. Anaconda下载及安装及查看安装的Python库用法

    Anaconda下载及安装及查看安装的Python库用法 Anaconda 是一个用于科学计算的 Python 发行版,提供了包管理与环境管理的功能.Anaconda 利用 conda 来进行 pac ...

  10. python enumerate用法总结【转】

    enumerate()说明 enumerate()是python的内置函数 enumerate在字典上是枚举.列举的意思 对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enum ...

随机推荐

  1. eclipse 中配置php的 XDebug调试

    1. 打开 eclipse for php IDE,window->preference->PHP->Debug 2. 配置phpserver 3. 我的已经增加好了,默认的应该有l ...

  2. Viewer.js插件浏览图片

    https://www.jianshu.com/p/e3350aa1b0d0 Viewer.js插件浏览图片 Viewer.js插件浏览图片 Viewer.js插件浏览图片

  3. spring-boot 速成(2) devtools之热部署及LiveReload

    JRebel热部署插件相信很多人都知道,但是这是一款商业插件,spring-boot框架也提供了类似的功能,即:devtools,关键是免费的! 使用方法如下: 一.添加 devtools依赖 dep ...

  4. openshift 容器云从入门到崩溃之八《日志聚合》

    日志可以分为两部分 业务日志 业务日志一般是要长期保留的,以供以后有问题随时查询,elk是现在比较流行的日志方案,但是容器日志最好不要落地所以不能把logstash客户端包在容器里面 可以使用logs ...

  5. phpstudy----------phpstudy开启apache日志并且按照日期划分创建。

    1.CustomLog "|bin/rotatelogs.exe logs/access_%Y_%m_%d.log 86400 480" combined 这里修改成上图所示,然后 ...

  6. WAR包方式安装Jenkins

    WAR包方式安装Jenkins     系统环境: CentOS 7.5 1804 IP:192.168.1.3 关闭selinux.firewalld jenkins war包:下载地址 一.安装t ...

  7. 框架——flask知识点回顾

    1. flask--轻量级Web开发框架 2. Flask 没有默认使用的数据库,你可以选择 MySQL,也可以用 NoSQL 3. Web程序框架的意义: 用于搭建Web应用程序 免去不同Web应用 ...

  8. 用PHP实现反向代理服务器

    什么是反向代理: 百度百科有云: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给int ...

  9. Docker Compose 一键部署LNMP

    Docker Compose 一键部署LNMP 目录结构 [root@localhost ~]# tree compose_lnmp/ compose_lnmp/ ├── docker-compose ...

  10. Docker 搭建私有仓库

    Docker 搭建私有仓库 环境: docker 版本 :18.09.1 主机地址:192.168.1.79 1.运行并创建私有仓库 docker run -d \ -v /opt/registry: ...