浅谈Python 集合(set)类型的操作——并交差


Posted in Python onJune 30, 2016

阅读目录

•介绍
•基本操作
•函数操作

介绍

python的set是一个无序不重复元素集,基本功能包括关系测试和消除重复元素. 集合对象还支持并、交、差、对称差等。

sets 支持 x in set、 len(set)、和 for x in set。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持 indexing, slicing, 或其它类序列(sequence-like)的操作。

基本操作

>>> x = set("jihite")
>>> y = set(['d', 'i', 'm', 'i', 't', 'e'])
>>> x    #把字符串转化为set,去重了
set(['i', 'h', 'j', 'e', 't'])
>>> y
set(['i', 'e', 'm', 'd', 't'])
>>> x & y  #交
set(['i', 'e', 't'])
>>> x | y  #并
set(['e', 'd', 'i', 'h', 'j', 'm', 't'])
>>> x - y  #差
set(['h', 'j'])
>>> y - x
set(['m', 'd'])
>>> x ^ y  #对称差:x和y的交集减去并集
set(['d', 'h', 'j', 'm'])

函数操作

 

>>> x
set(['i', 'h', 'j', 'e', 't'])
>>> s = set("hi")
>>> s
set(['i', 'h'])
>>> len(x)          #长度

>>> 'i' in x
True
>>> s.issubset(x)       #s是否为x的子集
True
>>> y
set(['i', 'e', 'm', 'd', 't'])
>>> x.union(y)        #交
set(['e', 'd', 'i', 'h', 'j', 'm', 't'])
>>> x.intersection(y)     #并
set(['i', 'e', 't'])
>>> x.difference(y)      #差
set(['h', 'j'])
>>> x.symmetric_difference(y) #对称差
set(['d', 'h', 'j', 'm'])
>>> s.update(x)        #更新s,加上x中的元素
>>> s
set(['e', 't', 'i', 'h', 'j'])
>>> s.add(1)         #增加元素
>>> s
set([1, 'e', 't', 'i', 'h', 'j'])
>>> s.remove(1)        #删除已有元素,如果没有会返回异常
>>> s
set(['e', 't', 'i', 'h', 'j'])
>>> s.remove(2)

Traceback (most recent call last):
 File "<pyshell#29>", line 1, in <module>
  s.remove(2)
KeyError: 2
>>> s.discard(2)        #如果存在元素,就删除;没有不报异常
>>> s
set(['e', 't', 'i', 'h', 'j'])
>>> s.clear()         #清除set
>>> s
set([])
>>> x
set(['i', 'h', 'j', 'e', 't'])
>>> x.pop()          #随机删除一元素
'i'
>>> x
set(['h', 'j', 'e', 't'])
>>> x.pop()
'h'

以上这篇浅谈Python 集合(set)类型的操作——并交差就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 网络编程起步(Socket发送消息)
Sep 06 Python
Python字符串处理函数简明总结
Apr 13 Python
Python xlrd读取excel日期类型的2种方法
Apr 28 Python
python 的列表遍历删除实现代码
Apr 12 Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
May 04 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
Jan 02 Python
解决pycharm回车之后不能换行或不能缩进的问题
Jan 16 Python
Python+pyplot绘制带文本标注的柱状图方法
Jul 08 Python
Python中PyQt5/PySide2的按钮控件使用实例
Aug 17 Python
使用Python的Turtle库绘制森林的实例
Dec 18 Python
解决Python logging模块无法正常输出日志的问题
Feb 21 Python
pytorch  网络参数 weight bias 初始化详解
Jun 24 Python
python dict.get()和dict['key']的区别详解
Jun 30 #Python
python中set常用操作汇总
Jun 30 #Python
浅谈python中set使用
Jun 30 #Python
详解Python操作RabbitMQ服务器消息队列的远程结果返回
Jun 30 #Python
Python操作RabbitMQ服务器实现消息队列的路由功能
Jun 29 #Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
Jun 29 #Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
Jun 29 #Python
You might like
php设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
php阳历转农历优化版
2016/08/08 PHP
php根据数据id自动生成编号的实现方法
2016/10/16 PHP
个人总结的一些关于String、Function、Array的属性和用法
2007/01/10 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
JavaScript每天定时更换皮肤样式的方法
2015/07/01 Javascript
js实现带圆角的两级导航菜单效果代码
2015/08/24 Javascript
js如何打印object对象
2015/10/16 Javascript
js+html5操作sqlite数据库的方法
2016/02/02 Javascript
jQuery插件扩展extend的简单实现原理
2016/06/24 Javascript
Vue.js实现模拟微信朋友圈开发demo
2017/04/20 Javascript
jQuery实现手势解锁密码特效
2017/08/14 jQuery
vue better-scroll插件使用详解
2018/01/25 Javascript
js常见遍历操作小结
2019/06/06 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
uni-app如何实现增量更新功能
2020/01/03 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
JS前端模块化原理与实现方法详解
2020/03/17 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
2020/04/07 Javascript
[06:33]3.19 DOTA2发布会 海涛、冷冷、2009见证希望
2014/03/21 DOTA
python 文件与目录操作
2008/12/24 Python
跟老齐学Python之总结参数的传递
2014/10/10 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
解决python 找不到module的问题
2020/02/12 Python
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
幼儿园中秋节活动反思
2014/02/16 职场文书
给校长的建议书500字
2014/05/15 职场文书
教师考察材料范文
2014/06/03 职场文书
2014国庆节幼儿园亲子活动方案
2014/09/16 职场文书
个人债务授权委托书范本
2014/10/05 职场文书
工作迟到检讨书范文
2015/05/06 职场文书
于丹论语心得观后感
2015/06/15 职场文书
债务追讨律师函
2015/06/24 职场文书
高考升学宴主持词
2019/06/21 职场文书
《我的美好婚事》动画化决定纪念插画与先导PV公开
2022/04/06 日漫