集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据
集合的作用:
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. SVN修改已经提交过记录的日志和作者

    原 SVN修改已经提交过记录的日志和作者 使用TortoiseSVN管理代码,对于已经提交的记录,可以修改提交作者和提交日志,不过会报如下错误: Repository has not been ena ...

  2. 20190422 T-SQL 触发器

    -- 1 数据库服务 -- 2 触发器 CREATE TRIGGER no_inserton xsAFTER INSERT ASBEGIN RAISERROR('XS不让插入数据',1,1); ROL ...

  3. jenkins和svn搭建自动代码构建发布

    jenkins安装和配置 .安装jenkins .yum install java wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins. ...

  4. eclipse 中配置php的 XDebug调试

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

  5. etree导入问题

    原因:主要是lxml没有这个包的问题,需要安装下: 1.需要在https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 下选择你和你对应的pycharm对应的版 ...

  6. C#设计模式(6)——原型模式(Prototype Pattern)(转)

    一.引言 在软件系统中,当创建一个类的实例的过程很昂贵或很复杂,并且我们需要创建多个这样类的实例时,如果我们用new操作符去创建这样的类实例,这未免会增加创建类的复杂度和耗费更多的内存空间,因为这样在 ...

  7. 手把手教你安装mac版hadoop2.7.3教程

    一.准备教程 1.jdk:版本在1.7.x以上就可以(因为hadoop2.x以上只支持1.7.x以上的jdk,我的是1.8的) 2.Hadoop:2.7.3 二.ssh的配置以及验证 配置ssh: 1 ...

  8. “流式”前端构建工具——gulp.js 简介

    Grunt 一直是前端领域构建工具(任务运行器或许更准确一些,因为前端构建只是此类工具的一部分用途)的王者,然而它也不是毫无缺陷的,近期风头正劲的 gulp.js 隐隐有取而代之的态势.那么,究竟是什 ...

  9. Delphi7打开项目提示'one or more lines were too long and has been truncated'

    打开主项目文件直接显示一排'口'形状!查了下资料也问了下伙伴,这多半应该是文件损坏了,解决办法: 1. 不关D7的事,所以重装D7应该是无效的,最好看看自己是不是有备份文件,我之前有备份的所以直接覆盖 ...

  10. vscode菜单栏、工具栏不见了

    按alt可以出来菜单栏: 命令行切换出来 关键字 menu F1 or shift+ctrl+p 切换出命令行,然后输入menu 有个view:toggle Menu bar 的功能,没文档这个确实要 ...