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

特点:
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. Collections练习之对字符串先折半,再取最长的一个

    不多说,直接上干货! 代码需求 由 [aa, abcde, cba, cba, nbaa, zzz] 变成 max=abcde CollectionsDemo.java package zhouls. ...

  2. HDU 5351——MZL's Border——————【高精度+找规律】

    MZL's Border Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  3. HDU 5446——Unknown Treasure——————【CRT+lucas+exgcd+快速乘+递推求逆元】

    Each test case starts with three integers n,m,k(1≤m≤n≤1018,1≤k≤10) on a line where k is the number o ...

  4. CF 540D——Bad Luck Island——————【概率dp】

    Bad Luck Island time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  5. Xtrareport二之固定数据绑定

    已经了解了XtraReport的初步用法,现在在进一步了解数据绑定 我们还是先不整高深的,先来个写死的,让我们的数据库可以通过报表呈现先 1. 准备 还在上节基础上,选中设计器report的page  ...

  6. nopCommerce如何支持MySQL

    此方法支持nopCommerce2.4以上版本(缺少的代码,可参照nopCommerce2.6源码) nopCommerce 4.1 如何支持Mysql 请看 Url:  http://www.nop ...

  7. IDEA中使用spring官方模板+@Controller

    视图层处理http请求用@Controller时,要配合模板的使用,模板类似javaweb中的jsp,但是模板的引擎用的是 thymeleaf ,但是并不推荐. 现在的开发模式都是前后端分离,做后端只 ...

  8. JAVA ------ 大牛

    李学凯 :http://blog.csdn.net/qq_27093465/article/details/51750535 码农场:http://www.hankcs.com/program/ 徐刘 ...

  9. 非关系型数据库(NOSQL)-Redis

    整理一波Redis 简介,与memcached比较 官网:http://redis.io Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括 ...

  10. Day1 了解web前端

    Day1  了解web前端 一.职业发展路线: 前端页面制作.前端开发.前端架构师 二.1)前端工程师主要职责:   利用HTML/CSS/JavaScript等各种Web技术进行客户端产品的开发.完 ...