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

特点:
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. LeetCode 167.两数之和(C++)

    给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2. 说明: 返回的下标值 ...

  2. DEDECMS5.5/5.6/5.7列表页调用TAG标签(热门标签)的两种方法

    DEDECMS5.5/5.6/5.7列表页调用TAG标签的两种方法: 一.DedeCMSv5.6及其以前版本: dedecms默认在列表是无法调用tag标签的,经过各位版主们的帮助,现给大家提供出2种 ...

  3. Junit使用过程中需要注意的诡异bug以及处理办法

    在开发过程中我们有时会遇到狠多的问题和bug,对于在编译和运行过程中出现的问题很好解决,因为可以在错误日志中得到一定的错误提示信息,从而可以找到一些对应的解决办法.但是有时也会遇到一些比较诡异的问题和 ...

  4. HDU 5419——Victor and Toys——————【线段树|差分前缀和】

    Victor and Toys Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/131072 K (Java/Others ...

  5. .NET面试题4

    常见面试题目: 1.字符串是引用类型类型还是值类型? 2.在字符串连接处理中,最好采用什么方式,理由是什么? 3.使用 StringBuilder时,需要注意些什么问题? 4.以下代码执行后内存中会存 ...

  6. jq学习总结之方法

    三.方法 1.length 2.index()3.get() reverse()4.not()5.filter()6.find()7.each()8.addBack()9.attr()10.toggl ...

  7. 权限修饰符(public、protected、default、private)权限验证

    一.测试方法 在authorityTest包中建类AuthorityValidate package authorityTest; public class AuthorityValidate { p ...

  8. 粗看ES6之字符串

    标签: javascript es6 字符串新增特性 新增二个方法 - startsWith/endsWith 字符串模板 - 反单引号的应用 startsWith 判断字符串以是否以某某开头,返回一 ...

  9. CentOS 6.5下安装Tomcat --专业增强版 非yum

    Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...

  10. linux 封禁ip

    可以直接服务配置nginx.conf 添加 deny+IP 例如: 封禁单个IP deny 106.5.76.83; #封整个段即从123.0.0.1到123.255.255.254的命令deny 1 ...