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错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Aug 22 Python
总结Python编程中三条常用的技巧
May 11 Python
Python之父谈Python的未来形式
Jul 01 Python
python3实现windows下同名进程监控
Jun 21 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
Aug 12 Python
python 定时器每天就执行一次的实现代码
Aug 14 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
Sep 24 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
Jan 19 Python
PyCharm 2020 激活到 2100 年的教程
Mar 25 Python
Django框架安装及项目创建过程解析
Sep 14 Python
Python字典取键、值对的方法步骤
Sep 30 Python
LyScript实现绕过反调试保护的示例详解
Aug 14 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扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
PHP时间类完整实例(非常实用)
2015/12/25 PHP
php使用curl实现ftp文件下载功能
2017/05/16 PHP
限制文本字节数js代码
2007/03/06 Javascript
Javascript中eval函数的使用方法与示例
2007/04/09 Javascript
javascript获取当前ip的代码
2009/05/10 Javascript
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
2012/01/10 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
Jsonp post 跨域方案
2015/07/06 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
2015/07/27 Javascript
JavaScript每天必学之数组和对象部分
2016/09/17 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
JS实现间歇滚动的运动效果实例
2016/12/22 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
vue实现商城上货组件简易版
2017/11/27 Javascript
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
2018/09/25 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
nodejs中方法和模块用法示例
2018/12/24 NodeJs
javascript设计模式 ? 解释器模式原理与用法实例分析
2020/04/17 Javascript
Python3实现二叉树的最大深度
2019/09/30 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
Python读入mnist二进制图像文件并显示实例
2020/04/24 Python
Python打印不合法的文件名
2020/07/31 Python
python+selenium爬取微博热搜存入Mysql的实现方法
2021/01/27 Python
简约控的天堂:The Undone
2016/12/21 全球购物
送货司机岗位职责
2013/12/11 职场文书
教师绩效考核方案
2014/01/21 职场文书
优秀干部获奖感言
2014/01/31 职场文书
2014年挂职干部工作总结
2014/12/06 职场文书
2016寒假社会实践心得体会范文
2015/10/09 职场文书
java设计模式--三种工厂模式详解
2021/07/21 Java/Android
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript
python 使用tkinter与messagebox写界面和弹窗
2022/03/20 Python