浅谈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参数和作用域的使用
Nov 01 Python
Python中序列的修改、散列与切片详解
Aug 27 Python
python调用Matplotlib绘制分布点并且添加标签
May 31 Python
浅谈pyqt5中信号与槽的认识
Feb 17 Python
Django中如何使用sass的方法步骤
Jul 09 Python
python 实现兔子生兔子示例
Nov 21 Python
python编程进阶之异常处理用法实例分析
Feb 21 Python
详解Django中views数据查询使用locals()函数进行优化
Aug 24 Python
python 解决selenium 中的 .clear()方法失效问题
Sep 01 Python
基于Django快速集成Echarts代码示例
Dec 01 Python
Python文件名匹配与文件复制的实现
Dec 11 Python
jupyter 添加不同内核的操作
Feb 06 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 smarty 二级分类代码和模版循环例子
2011/06/16 PHP
CI框架中zip类应用示例
2014/06/17 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
QUnit jQuery的TDD框架
2010/11/04 Javascript
node.js中的console.log方法使用说明
2014/12/09 Javascript
实例讲解javascript注册事件处理函数
2016/01/09 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
JS中使用media实现响应式布局
2017/08/04 Javascript
nodejs实现超简单生成二维码的方法
2018/03/17 NodeJs
javascript实现文件拖拽事件
2018/03/29 Javascript
Vue中对比scoped css和css module的区别
2018/05/17 Javascript
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
Django继承自带user表并重写的例子
2019/11/18 Python
python [:3] 实现提取数组中的数
2019/11/27 Python
Python基础之列表常见操作经典实例详解
2020/02/26 Python
Python numpy多维数组实现原理详解
2020/03/10 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
Python几种常见算法汇总
2020/06/02 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
使用CSS3实现多列布局与多背景的技巧
2016/02/29 HTML / CSS
Hotels.com南非:酒店预订
2017/11/02 全球购物
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
大学生求职简历的自我评价范文
2013/10/12 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
铣床操作工岗位职责
2014/06/13 职场文书
面试自我评价范文
2014/09/17 职场文书
党员领导干部民主生活会批评与自我批评发言
2014/09/28 职场文书
人民调解协议书范本
2014/10/11 职场文书
赵乐秦在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
写给父母的感谢信
2015/01/22 职场文书
公司财务制度:成本管理控制制度模板
2019/11/19 职场文书
Mysql中有关Datetime和Timestamp的使用总结
2021/12/06 MySQL