浅谈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实现猜数字游戏(无重复数字)示例分享
Mar 29 Python
Python使用新浪微博API发送微博的例子
Apr 10 Python
Python3中多线程编程的队列运作示例
Apr 16 Python
Python多进程机制实例详解
Jul 02 Python
Python的Tornado框架实现图片上传及图片大小修改功能
Jun 30 Python
python操作 hbase 数据的方法
Dec 18 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
Jan 16 Python
Python 定义只读属性的实现方式
Mar 05 Python
Django框架配置mysql数据库实现过程
Apr 22 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
Apr 28 Python
python实现一个简单RPC框架的示例
Oct 28 Python
pycharm无法导入lxml的解决办法
Mar 31 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+ajax无刷新分页实例详解
2015/12/07 PHP
php array_walk_recursive 使用自定的函数处理数组中的每一个元素
2016/11/16 PHP
php生出随机字符串
2017/07/06 PHP
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
jquery事件重复绑定的快速解决方法
2014/01/03 Javascript
angular简介和其特点介绍
2015/01/29 Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
2015/10/23 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
2016/06/25 Javascript
jQuery EasyUI封装简化操作
2016/09/18 Javascript
Servlet实现文件上传,可多文件上传示例
2016/12/05 Javascript
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
JavaScript 有用的代码片段和 trick
2018/02/22 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
Python实现多线程下载文件的代码实例
2014/06/01 Python
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
Python实现对比不同字体中的同一字符的显示效果
2015/04/23 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
Python中sort和sorted函数代码解析
2018/01/25 Python
python OpenCV学习笔记直方图反向投影的实现
2018/02/07 Python
pycharm访问mysql数据库的方法步骤
2019/06/18 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
pytorch GAN伪造手写体mnist数据集方式
2020/01/10 Python
python 如何利用argparse解析命令行参数
2020/09/11 Python
pytorch 把图片数据转化成tensor的操作
2021/03/04 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
馥蕾诗美国官网:Fresh美国
2019/10/09 全球购物
写给老婆的检讨书
2014/02/21 职场文书
表彰大会主持词
2014/03/26 职场文书
党员个人剖析材料
2014/09/30 职场文书
2015年医院药剂科工作总结
2015/05/04 职场文书
职位证明模板
2015/06/23 职场文书
同事离别感言
2015/08/04 职场文书
医护人员继续教育学习心得体会
2016/01/19 职场文书
《草虫的村落》教学反思
2016/02/20 职场文书
话题作文之成长
2019/12/09 职场文书