浅谈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中的集合类型知识讲解
Aug 19 Python
Python实现删除列表中满足一定条件的元素示例
Jun 12 Python
使用XML库的方式,实现RPC通信的方法(推荐)
Jun 14 Python
python实现对求解最长回文子串的动态规划算法
Jun 02 Python
基于Python开发chrome插件的方法分析
Jul 07 Python
python3+PyQt5 数据库编程--增删改实例
Jun 17 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
Jul 31 Python
Python中base64与xml取值结合问题
Dec 22 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
Feb 26 Python
解决python 执行sql语句时所传参数含有单引号的问题
Jun 06 Python
使用Python下载抖音各大V视频的思路详解
Feb 06 Python
python的变量和简单数字类型详解
Sep 15 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中关于普通表单多文件上传的处理方法
2011/03/25 PHP
PHP生成sitemap.xml地图函数
2013/11/13 PHP
PHP中使用CURL获取页面title例子
2015/01/07 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
php获得网站访问统计信息类Compete API用法实例
2015/04/02 PHP
php实现当前页面点击下载文件的简单方法
2016/09/22 PHP
laravel 解决多库下的DB::transaction()事务失效问题
2019/10/21 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
javascript 动态参数判空操作
2008/12/22 Javascript
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2010/02/04 Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
2013/06/28 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
Jquery中$.post和$.ajax的用法小结
2015/04/28 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
微信小程序 实战实例开发流程详细介绍
2017/01/05 Javascript
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
layer弹出层自适应高度,垂直水平居中的实现
2019/09/16 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
深入解析Python中函数的参数与作用域
2016/03/20 Python
对Python的交互模式和直接运行.py文件的区别详解
2019/06/29 Python
深入了解python列表(LIST)
2020/06/08 Python
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
瑞典时尚服装购物网站:Miinto.se
2017/10/30 全球购物
学生会竞选自荐信
2013/10/12 职场文书
计算机专业毕业生自荐信
2013/12/31 职场文书
金融事务专业毕业生求职信
2014/02/23 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
2015年学校管理工作总结
2015/07/20 职场文书
早上好问候语大全
2015/11/10 职场文书
《迟到》教学反思
2016/02/24 职场文书
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL