主要功能是对比列表中的信息,进行关系测试。

特点:
1. 去重

2. 无序

3. 没有修改功能,只能删除后再添加

4. 公共功能除了len和for循环其他不可使用

5. 不能作为字典的key使用

6. 列表,字典,集合不能作为集合嵌套

7. 表示空位set()

8. 集合内,数字1 = True ,0 = False 并且当做重复内容去掉。

以{}的形式出现,类型为set

list_1 = [1,2,3,5,3,4,2,33,1]  #创建列表
list_1 = set(list_1) #关键字转换成集合
print(list_1,type(list_1)) #输出集合,并直接进行去重。 {1, 2, 3, 4, 5, 33} <class 'set'> #以大括号的形式出现,数据类型为set

交集:

list_1 = set([1,2,3,5,3,4,2,33,1])
list_2 = set([2,2,4,5,6,7,7,8])
print(list_1.intersection(list_2)) #交集,就是将两个集合中的重复项显示出来。 {2, 4, 5}

交集缩写:

list_1 = set([1,2,3,5,3,4,2,33,1])
list_2 = set([2,2,4,5,6,7,7,8])
print(list_1 & list_2) #交集缩写 {2, 4, 5}

并集:

list_1 = set([1,2,3,5,3,4,2,33,1])
list_2 = set([2,2,4,5,6,7,7,8])
print(list_1.union(list_2)) #并集,就是将两个列表中的重复选项去掉合并在一起。 {1, 2, 3, 4, 5, 33, 6, 7, 8}

并集缩写。

list_1 = set([1,2,3,5,3,4,2,33,1])
list_2 = set([2,2,4,5,6,7,7,8])
print(list_1 | list_2) #并集缩写 {1, 2, 3, 4, 5, 33, 6, 7, 8}

差集,就是1里面有而2里面没有的数据。

list_1 = set([1,2,3,5,3,4,2,33,1])
list_2 = set([2,2,4,5,6,7,7,8])
print(list_1.difference(list_2)) #差集 {1, 3, 33}

差集缩写:

list_1 = set([1,2,3,5,3,4,2,33,1])
list_2 = set([2,2,4,5,6,7,7,8])
print(list_1 - list_2) #差集缩写 {1, 3, 33}

子集,就是判断列表1中是不是包含列表3的全部数据。

list_1 = set([1,2,3,5,3,4,2,33,1])
list_3 = set([1,2,3])
print(list_3.issubset(list_1)) #子集 True #返回false或True

父集,就是判断列表3中全部内容是不是在列表1中都有。

list_1 = set([1,2,3,5,3,4,2,33,1])
list_3 = set([1,2,3])
print(list_1.issuperset(list_3)) #父集 True #返回false或True

对称差集,就是将两个列表中都有的数字去掉,然后合并在一起。

list_1 = set([1,2,3,5,3,4,2,33,1])
list_2 = set([1,2,3,88])
print(list_1.symmetric_difference(list_2)) #对称差集
print(list_1 ^ list_2) #对称差集缩写 {33, 4, 5, 88}

判断交集,就是判断两个列表中是否有相同信息。

list_1 = set([1,2,3,5,3,4,2,33,1])
list_2 = set([1,2,3,88])
print(list_1.isdisjoint(list_2)) False #如果有交集就显示False,如果没有就显示True

添加:

list_1 = set([1,2,3,5,3,4,2,33,1])
list_1.add(999) #添加
print(list_1)
list_1.update([444,333,222]) #添加多项
print(list_1) {1, 2, 3, 4, 5, 33, 999}
{1, 2, 3, 4, 5, 33, 999, 333, 444, 222}

删除:

list_1 = set([1,2,3,5,3,4,2,333,1])
list_1.remove(333) #删除
print(list_1)

随机删除一个:

list_1 = set([1,2,3,5,4,333])
print(list_1.pop()) 1 #返回删除的值

删除,如果不在集合内将不报错。

list_1 = set([1,2,3,5,4,333])
list_1.discard(222) #集合内没有也不会报错。

显示去重以后的长度:

list_1 = set([1,2,3,5,4,333])
print(len(list_1)) 6

判断数字是否在合集中。

list_1 = set([1,2,3,5,4,333])
print(6 in list_1) False #如果没有将显示False,如果有将显示True

盘算数字是否不在这个集合中。

list_1 = set([1,2,3,5,4,333])
print(6 not in list_1) True #如果不在将显示True,如果在将显示False

复制:

list_1 = set([1,2,3,5,4,333])
list_2 = list_1.copy() #复制到list_2中。
print(list_2)
print(type(list_2)) {1, 2, 3, 4, 5, 333}
<class 'set'>

Python——合集的更多相关文章

  1. Python合集之Python开发环境在Windows系统里面搭建

    在上一个合集里面我们了解到了Python的基础信息及学习了Python对我们有什么用处,那么今天我们来了解一下,Python的开发环境该如何搭建.(注:Python的开发环境可以在Windows.MA ...

  2. python 合集set,交集,并集,差集,对称差集别搞混

    有集合 x与y x = {1,2,3,4,5}y = {4,5,6,7,8} x和y的交集为 {4,5} x和y的对称差集{1, 2, 3, 6, 7, 8} x和y的并集{1, 2, 3, 4, 5 ...

  3. Python学习路径及练手项目合集

    Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159

  4. Python之路【第二十四篇】:Python学习路径及练手项目合集

      Python学习路径及练手项目合集 Wayne Shi· 2 个月前 参照:https://zhuanlan.zhihu.com/p/23561159 更多文章欢迎关注专栏:学习编程. 本系列Py ...

  5. 【分享】Python学习资源大合集

    地址:http://www.hejizhan.com/html/xueke/520/x520_03.html Python安装软件合集(Windows)(78) Python教程——游戏编程(13) ...

  6. python字符串操作实方法大合集

    python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下:   #1.去空格及特殊符号 s.st ...

  7. 教程+资源,python scrapy实战爬取知乎最性感妹子的爆照合集(12G)!

    一.出发点: 之前在知乎看到一位大牛(二胖)写的一篇文章:python爬取知乎最受欢迎的妹子(大概题目是这个,具体记不清了),但是这位二胖哥没有给出源码,而我也没用过python,正好顺便学一学,所以 ...

  8. 你想找的Python资料这里全都有!没有你找不到!史上最全资料合集

    你想找的Python资料这里全都有!没有你找不到!史上最全资料合集 2017年11月15日 13:48:53 技术小百科 阅读数:1931   GitHub 上有一个 Awesome - XXX 系列 ...

  9. 前端,Java,产品经理,微信小程序,Python等资源合集大放送

    为了感恩大家长久以来的关注和支持,小编准备了一些福利,整理了包含前端,Java,产品经理,微信小程序,Python,网站源码,Android应用视频教程,微信公众平台开发教程及材料等资源合集大放送. ...

随机推荐

  1. HDU 4612——Warm up——————【边双连通分量、树的直径】

    Warm up Time Limit:5000MS     Memory Limit:65535KB     64bit IO Format:%I64d & %I64u Submit Stat ...

  2. 温习SQL语句

    作为一名使用C#语言开发人员,就很难逃脱与SQLSERVER打交道,虽说我们是开发人员,但我想说的是,对数据库的操作还是应该时不时的拿出来温习一番.下面那就是我见过的一道有趣的SQL题目,与你们一起分 ...

  3. 深入理解mvc 一系列收藏

    http://www.cnblogs.com/P_Chou/archive/2010/11/01/1866605.html

  4. SublimeText插件vue Syntax Highlight : vue语法高亮

    参考:http://www.cnblogs.com/cosnyang/p/6290950.html Vue.js 的单文件组件(*.vue)在 sublime 编辑器中是不被识别的.若要想高亮显示,需 ...

  5. CSS基础必备盒模型及清除浮动

    盒模型 盒模型是有两种标准的,一个是标准模型,一个是IE模型. css如何设置两种模型 这里用到了CSS3 的属性 box-sizing /* 标准模型 */ box-sizing:content-b ...

  6. form提交

    方法一:利用form的onsubmit()函数(经常使用) <script type="text/javascript"> function validateForm( ...

  7. 模拟Chrome皮肤

    话不多说,先验货: (原始状态) (最大化状态) (对比图) 为自己鼓掌!!! 哈哈,捣鼓2天终于把这个搞出来了!虽然代码一团糟,但是不难理解! 要实现这个功能需要几个组件:DWM,GDI+ 在实现这 ...

  8. C#设计模式--适配器模式(结构型模式)

    一.适配器模式介绍: 适配器模式:将一个类的接口,转换成客户希望的另外一个接口.adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 例子分析(充电器充电): 模式中的角色: 安 ...

  9. oracle 11g expdp impdp详细使用方法

    11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法如下图: 二.oracle10g以后提供了expdp/impdp工具,同样可以解决此问题 1.导出expdp工具使用方法: ...

  10. 154. Find Minimum in Rotated Sorted Array II(Binary search)

    https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/description/ -- leetcode follo ...