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 ip正则式
May 07 Python
python中split方法用法分析
Apr 17 Python
scrapy spider的几种爬取方式实例代码
Jan 25 Python
用python统计代码行的示例(包括空行和注释)
Jul 24 Python
Django 视图层(view)的使用
Nov 09 Python
对python中的乘法dot和对应分量相乘multiply详解
Nov 14 Python
Python 中Django安装和使用教程详解
Jul 03 Python
对python3中的RE(正则表达式)-详细总结
Jul 23 Python
wxPython+Matplotlib绘制折线图表
Nov 19 Python
Python3连接Mysql8.0遇到的问题及处理步骤
Feb 17 Python
python实现画图工具
Aug 27 Python
python之np.argmax()及对axis=0或者1的理解
Jun 02 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+Ajax检测用户名或邮件注册时是否已经存在实例教程
2014/08/23 PHP
PHP编译configure时常见错误的总结
2017/08/17 PHP
浅析PHP7 的垃圾回收机制
2019/09/06 PHP
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
浅谈javascript的数据类型检测
2010/07/10 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
2013/08/01 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
2016/08/06 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
vue2 中如何实现动态表单增删改查实例
2017/06/09 Javascript
Require.js的基本用法详解
2017/07/03 Javascript
微信小程序仿微信运动步数排行(交互)
2018/07/13 Javascript
JQuery判断radio单选框是否选中并获取值的方法
2019/01/17 jQuery
jQuery.parseJSON()函数详解
2019/02/28 jQuery
微信小程序页面滚动到指定位置代码实例
2019/09/07 Javascript
vue实现配置全局访问路径头(axios)
2019/11/01 Javascript
Vue实现简单的跑马灯
2020/05/25 Javascript
一篇文章看懂JavaScript中的回调
2021/01/05 Javascript
一些常用的Python爬虫技巧汇总
2016/09/28 Python
windows下python连接oracle数据库
2017/06/07 Python
Python set常用操作函数集锦
2017/11/15 Python
对python多线程与global变量详解
2018/11/09 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
2019/07/23 Python
django如何自己创建一个中间件
2019/07/24 Python
python使用requests.session模拟登录
2019/08/09 Python
Python并发爬虫常用实现方法解析
2020/11/19 Python
html5的画布canvas——画出简单的矩形、三角形实例代码
2013/06/09 HTML / CSS
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
介绍一下SQL注入攻击的种类和防范手段
2012/02/18 面试题
经济管理专业自荐信
2013/12/30 职场文书
学校出纳员岗位职责
2014/03/18 职场文书
学生会竞选演讲稿
2014/04/24 职场文书
2015年语文教学工作总结
2015/05/25 职场文书
2015大学迎新晚会策划书
2015/07/16 职场文书
php中pcntl_fork详解
2021/04/01 PHP