浅谈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 server实例
Apr 29 Python
python实现的简单抽奖系统实例
May 22 Python
Python保存MongoDB上的文件到本地的方法
Mar 16 Python
python脚本生成caffe train_list.txt的方法
Apr 27 Python
python2.x实现人民币转大写人民币
Jun 20 Python
python ChainMap 合并字典的实现步骤
Jun 11 Python
PyQtGraph在pyqt中的应用及安装过程
Aug 04 Python
Python如何读取文件中图片格式
Jan 13 Python
tensorflow多维张量计算实例
Feb 11 Python
Python日志syslog使用原理详解
Feb 18 Python
pycharm实现在子类中添加一个父类没有的属性
Mar 12 Python
Python中第三方库Faker的使用详解
Apr 02 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 数组实例说明
2008/08/18 PHP
Zend 输出产生XML解析错误
2009/03/03 PHP
PHP zlib扩展实现页面GZIP压缩输出
2010/06/17 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
2018/05/21 PHP
PHP面向对象类型约束用法分析
2019/06/12 PHP
JS弹出层的显示与隐藏示例代码
2013/12/27 Javascript
遍历DOM对象内的元素属性示例代码
2014/02/08 Javascript
node.js中使用node-schedule实现定时任务实例
2014/06/03 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
JavaScript简单表格编辑功能实现方法
2015/04/16 Javascript
基于JS实现的倒计时程序实例
2015/07/24 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
vue-cli扩展多模块打包的示例代码
2018/04/09 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
python模拟enum枚举类型的方法小结
2015/04/30 Python
TensorFlow入门使用 tf.train.Saver()保存模型
2018/04/24 Python
python 自动去除空行的实例
2018/07/24 Python
Python面向对象之接口、抽象类与多态详解
2018/08/27 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
python不到50行代码完成了多张excel合并的实现示例
2020/05/28 Python
Python 远程开关机的方法
2020/11/18 Python
python实现马丁策略的实例详解
2021/01/15 Python
详解css3 object-fit属性
2018/07/27 HTML / CSS
送给他或她的礼物:FUN.com
2018/08/17 全球购物
如何提高MySql的安全性
2014/06/19 面试题
股权转让协议书
2014/04/12 职场文书
创先争优承诺书
2015/01/20 职场文书
鉴史问廉观后感
2015/06/10 职场文书
合作意向书范本
2019/04/17 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
mysql的Buffer Pool存储及原理
2022/04/02 MySQL
Ruby处理CSV数据方法详解
2022/04/18 Ruby