Python——合集
主要功能是对比列表中的信息,进行关系测试。
特点:
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——合集的更多相关文章
- Python合集之Python开发环境在Windows系统里面搭建
在上一个合集里面我们了解到了Python的基础信息及学习了Python对我们有什么用处,那么今天我们来了解一下,Python的开发环境该如何搭建.(注:Python的开发环境可以在Windows.MA ...
- 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 ...
- Python学习路径及练手项目合集
Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159
- Python之路【第二十四篇】:Python学习路径及练手项目合集
Python学习路径及练手项目合集 Wayne Shi· 2 个月前 参照:https://zhuanlan.zhihu.com/p/23561159 更多文章欢迎关注专栏:学习编程. 本系列Py ...
- 【分享】Python学习资源大合集
地址:http://www.hejizhan.com/html/xueke/520/x520_03.html Python安装软件合集(Windows)(78) Python教程——游戏编程(13) ...
- python字符串操作实方法大合集
python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下: #1.去空格及特殊符号 s.st ...
- 教程+资源,python scrapy实战爬取知乎最性感妹子的爆照合集(12G)!
一.出发点: 之前在知乎看到一位大牛(二胖)写的一篇文章:python爬取知乎最受欢迎的妹子(大概题目是这个,具体记不清了),但是这位二胖哥没有给出源码,而我也没用过python,正好顺便学一学,所以 ...
- 你想找的Python资料这里全都有!没有你找不到!史上最全资料合集
你想找的Python资料这里全都有!没有你找不到!史上最全资料合集 2017年11月15日 13:48:53 技术小百科 阅读数:1931 GitHub 上有一个 Awesome - XXX 系列 ...
- 前端,Java,产品经理,微信小程序,Python等资源合集大放送
为了感恩大家长久以来的关注和支持,小编准备了一些福利,整理了包含前端,Java,产品经理,微信小程序,Python,网站源码,Android应用视频教程,微信公众平台开发教程及材料等资源合集大放送. ...
随机推荐
- (转) HTTP & HTTPS网络协议重点总结(基于SSL/TLS的握手、TCP/IP协议基础、加密学)
HTTP & HTTPS网络协议重点总结(基于SSL/TLS的握手.TCP/IP协议基础.加密学) 原文:http://blog.csdn.net/itermeng/article/detai ...
- C++有关拷贝构造函数(默认/浅/深拷贝构造函数)
拷贝结构函数顾名思义就是复制对象. 先讲一下默认拷贝函数: 默认拷贝就是直接赋值,让程序调用默认拷贝结构函数. Student p1; Student p2 = p1//或者Student p2(p1 ...
- linux 防止ssh暴力破解密码
收集 /var/log/secure 里面的信息,若是某个IP 链接次数超过一定次数 ,则把此ip记录到/etc/hosts.deny里面 #!/bin/bash #Denyhosts SHELL S ...
- 测试阿里云1核2g轻量级服务器的吞吐量
使用jmeter对部署的dbshop发起请求,单线程5000次请求 面板为宝塔界面 吞吐量大概在每秒48个请求左右.可以看出阿里云1核2g服务器其实并不能进行实战,只是新手练手而已. 阿里云另一种ec ...
- Linux Bird
o / : 2GB o /boot: 200MB o /usr : 4GB o /var : 2GB o /tmp : 1GB o swap : 1GB o /home: 5GB,并且使用 LVM 模 ...
- 小程序 页面到详情的id传递
比如电影列表页跳转到电影详情页 在movie.js获取movieId; processDoubanData: function (moviesDouban, settedKey, categoryTi ...
- Model对象嵌套list赋值方式(备忘)
首先定义Model对象:var deliveryInfoModel = new DeliveryInfo(); 第二步定义嵌套的list对象:var list = new List<Delive ...
- elasticsearch结构化查询过滤语句-----4
1.之前三节讲述的都是索引结构及内容填充的部分,既然添加了数据那我们的目的无非就是增产改查crudp,我先来讲讲查询-----结构化查询 我们看上图截图两种方式: 1)第一种,在索引index5类型s ...
- 秒懂JSON.parse()与JSON.stringify()的区别
在网站开发中,Json是最为常见的一种数据交互手段.在使用过程中,常会遇到Json字段串和对象之间进行转换.很多朋友对于JSON.parse() 和JSON.stringify() 的区别,下面为大家 ...
- 【起航计划 003】2015 起航计划 Android APIDemo的魔鬼步伐 02 SimpleAdapter,ListActivity,PackageManager参考
01 API Demos ApiDemos 详细介绍了Android平台主要的 API,android 5.0主要包括下图几个大类,涵盖了数百api示例: