浅谈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中字典的合并值相加与异或对比
Jun 04 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
Sep 21 Python
Python简单操作sqlite3的方法示例
Mar 22 Python
matplotlib在python上绘制3D散点图实例详解
Dec 09 Python
python opencv人脸检测提取及保存方法
Aug 03 Python
使用Python机器学习降低静态日志噪声
Sep 29 Python
Python中那些 Pythonic的写法详解
Jul 02 Python
Python pip install如何修改默认下载路径
Apr 29 Python
详解Flask前后端分离项目案例
Jul 24 Python
用python进行视频剪辑
Nov 02 Python
python 常用的异步框架汇总整理
Jun 18 Python
5行Python代码实现一键批量扣图
Jun 29 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
Content-type 的说明
2006/10/09 PHP
微信支付扫码支付php版
2016/07/22 PHP
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
javascript之典型高阶函数应用介绍二
2013/01/10 Javascript
jQuery getJSON()+.ashx 实现分页(改进版)
2013/03/28 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
2015/11/04 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
微信小程序 wx.uploadFile无法上传解决办法
2016/12/14 Javascript
详解vuejs几种不同组件(页面)间传值的方式
2017/06/01 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
最实用的JS数组函数整理
2017/12/05 Javascript
JavaScript中arguments和this对象用法分析
2018/08/08 Javascript
通过JS运行机制的角度说说作用域
2019/03/12 Javascript
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
浅谈机器学习需要的了解的十大算法
2017/12/15 Python
python issubclass 和 isinstance函数
2019/07/25 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
css3实现平移效果(transfrom:translate)的示例
2020/11/13 HTML / CSS
AmazeUI中模态框的实现
2020/08/19 HTML / CSS
Public Desire美国/加拿大:全球性的在线鞋类品牌
2018/12/17 全球购物
请解释流与文件有什么不同
2016/07/29 面试题
什么叫做SQL注入,如何防止
2016/10/04 面试题
家长对老师的感言
2014/03/11 职场文书
校长师德师风自我剖析材料
2014/09/29 职场文书
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
2015秋学期开学寄语
2015/05/28 职场文书
校园开放日新闻稿
2015/07/17 职场文书
大学生支教感言
2015/08/01 职场文书
图书借阅制度范本
2015/08/06 职场文书
使用Ajax实现无刷新上传文件
2022/04/12 Javascript