Python中的集合介绍


Posted in Python onJanuary 28, 2019

1.集合的定义

集合的元素是不可重复的

s = {1,2,3,1,2,3,4,5}
print(s)
print(type(s))
s1 = {1}
print(s1)
print(type(s1))

Python中的集合介绍

集合就算只有一个元素,也是集合,不需要像列表一样,加个逗号

那么如何定义一个空集合

s2 = {}
print(type(s2))
s3 = set([])
print(s3)
print(type(s3))

Python中的集合介绍

集合的应用(去重)

li = [1,2,3,1,2,3]
print(list(set(li)))

Python中的集合介绍

2.集合的特性

集合只支持成员操作符和for循环

s = {1,2,3}
print(1 in s)

此时的返回值为True

for i in s:
  print(i,end='|')
for i,v in enumerate(s):
  print('index: %s,value: %s' %(i,v))

Python中的集合介绍

3.集合的常用方法

集合是无序的数据类型,添加顺序和在集合中存储的数据不一定相同

1)增加元素

s = {6,7,8,9}
#增加一个元素
s.add(1)
print(s)

2)增加多个元素

s.update({5,3,2})   ##使用update命令
print(s)

3)删除

s.pop()
print(s)

删除指定元素

s.remove(5)
print(s)

4)集合运算

s = {1,2,3}
s2={2,3,4}

并集

print('并集:',s1.union(s2))
print('并集:',s1|s2)

交集

print('交集:',s1.intersection(s2))
print('交集:',s1&s2)

差集

print('差集:',s1.difference(s2)) #s1-(s1&s2)
print('差集:',s2.difference(s1)) #s2-(s1&s2)

对等差分:并集-交集

print('对等差分:',s2.symmetric_difference(s1))
print('对等差分:',s1^s2)

集合关系的判断

s3 = {1,2}
s4 = {1,2,3}
#s3是否为s4的超集
#超集:如果s3中的每一个元素都在集合s4中,且s4中可能包含s3中没有的元素,
#那么s4就是s3的一个超集
print(s3.issuperset(s4))
print(s4.issuperset(s3))
#s3是否为s4的子集
print(s3.issubset(s4))
#两个集和是不是 不相交
print(s3.isdisjoint(s4))

4.练习

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性
他先用计算机生成了N个1~1000之间的随机整数(N<=1000),N是用户输入>的,对于
其中重复的数字,只保留一个,把其余相同的数字去掉,不同的数对应着
不同的学生的学号,然后再把这些
数从小到大排序,按照排好的顺序去找同学做调查,请你协助明明完成“>去重”与排序工作

s = set([])
for i in range(int(input('N:'))):
  s.add(random.randint(1,1000))
print(s)
print(sorted(s))

ok~

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
python和pyqt实现360的CLable控件
Feb 21 Python
python使用urllib2提交http post请求的方法
May 26 Python
详解Python中的Cookie模块使用
Jul 06 Python
Python正则获取、过滤或者替换HTML标签的方法
Jan 28 Python
Python实现查找匹配项作处理后再替换回去的方法
Jun 10 Python
Python 内置函数memoryview(obj)的具体用法
Nov 23 Python
运行django项目指定IP和端口的方法
May 14 Python
Python中xml和json格式相互转换操作示例
Dec 05 Python
python3.6实现学生信息管理系统
Feb 21 Python
python设计tcp数据包协议类的例子
Jul 23 Python
keras读取h5文件load_weights、load代码操作
Jun 12 Python
自己搭建resnet18网络并加载torchvision自带权重的操作
May 13 Python
Python 使用Numpy对矩阵进行转置的方法
Jan 28 #Python
Python根据欧拉角求旋转矩阵的实例
Jan 28 #Python
python 二维数组90度旋转的方法
Jan 28 #Python
python 处理数字,把大于上限的数字置零实现方法
Jan 28 #Python
python实现蒙特卡罗方法教程
Jan 28 #Python
用python一行代码得到数组中某个元素的个数方法
Jan 28 #Python
python简单贪吃蛇开发
Jan 28 #Python
You might like
关于PHP递归算法和应用方法介绍
2013/04/15 PHP
PHP图片裁剪函数(保持图像不变形)
2014/05/04 PHP
使用CodeIgniter的类库做图片上传
2014/06/12 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
2015/04/15 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
javascript在事件监听方面的兼容性小结
2010/04/07 Javascript
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
document.documentElement和document.body区别介绍
2013/09/16 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
jQuery中hover方法和toggle方法使用指南
2015/02/27 Javascript
基于javascript实现图片左右切换效果
2016/01/25 Javascript
Bootstrap CSS布局之按钮
2016/12/17 Javascript
vue监听dom大小改变案例
2020/07/29 Javascript
Python随机生成手机号、数字的方法详解
2017/07/21 Python
python版本的仿windows计划任务工具
2018/04/30 Python
Python实现的求解最小公倍数算法示例
2018/05/03 Python
python os.path模块常用方法实例详解
2018/09/16 Python
解决vscode python print 输出窗口中文乱码的问题
2018/12/03 Python
Python Numpy,mask图像的生成详解
2020/02/19 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
Pandas缺失值2种处理方式代码实例
2020/06/13 Python
如何在VSCode下使用Jupyter的教程详解
2020/07/13 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
Python项目打包成二进制的方法
2020/12/30 Python
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
应届生新闻编辑求职信
2013/11/19 职场文书
财务会计自荐信范文
2014/02/21 职场文书
放飞中国梦演讲稿
2014/04/23 职场文书
施工安全标语
2014/06/07 职场文书
离婚协议书范文2014
2014/10/16 职场文书
遗嘱继承权公证书
2015/01/26 职场文书
在python中读取和写入CSV文件详情
2022/06/28 Python