浅谈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之入门(四)运算
May 27 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
Jun 02 Python
通过5个知识点轻松搞定Python的作用域
Sep 09 Python
Tornado协程在python2.7如何返回值(实现方法)
Jun 22 Python
python计算auc指标实例
Jul 13 Python
Python向Excel中插入图片的简单实现方法
Apr 24 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
Feb 12 Python
Python3 修改默认环境的方法
Feb 16 Python
Python字符串处理的8招秘籍(小结)
Aug 13 Python
Pytorch自己加载单通道图片用作数据集训练的实例
Jan 18 Python
python实现在内存中读写str和二进制数据代码
Apr 24 Python
Pycharm 跳转回之前所在页面的操作
Feb 05 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
业余方法DIY电子管FM收音机
2021/03/02 无线电
兼容PHP5的PHP目录管理函数库
2008/07/10 PHP
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
php中apc缓存使用示例
2013/12/25 PHP
php 修改上传文件大小限制实例详解
2016/10/23 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
JS 字符串连接[性能比较]
2009/05/10 Javascript
javascript 动态修改样式和层叠样式表代码
2010/04/27 Javascript
ExtJs中gridpanel分组后组名排序实例代码
2013/12/02 Javascript
jQuery判断元素上是否绑定了指定事件的方法
2015/03/17 Javascript
jQuery实现简易的天天爱消除小游戏
2015/10/16 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
2018/09/25 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
详解JavaScript原型与原型链
2020/11/16 Javascript
Python实例之wxpython中Frame使用方法
2014/06/09 Python
python使用cPickle模块序列化实例
2014/09/25 Python
Python基于pygame实现的font游戏字体(附源码)
2015/11/11 Python
Python的Socket编程过程中实现UDP端口复用的实例分享
2016/03/19 Python
对python中的for循环和range内置函数详解
2018/04/17 Python
python使用循环打印所有三位数水仙花数的实例
2018/11/13 Python
python 阶乘累加和的实例
2019/02/01 Python
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
2020/03/06 Python
python:批量统计xml中各类目标的数量案例
2020/03/10 Python
解决Python安装cryptography报错问题
2020/09/03 Python
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
村级四风对照检查材料
2014/08/24 职场文书
小学红领巾广播稿(3篇)
2014/09/13 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
世界遗产的导游词
2015/02/13 职场文书
产品质量保证书范本
2015/02/27 职场文书
2015年助理政工师工作总结
2015/05/26 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电
PostgreSQL数据库创建并使用视图以及子查询
2022/04/11 PostgreSQL