浅谈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中对list去重的多种方法
Sep 18 Python
python读取json文件并将数据插入到mongodb的方法
Mar 23 Python
Python StringIO模块实现在内存缓冲区中读写数据
Apr 08 Python
python抓取网页中图片并保存到本地
Dec 01 Python
Python排序搜索基本算法之插入排序实例分析
Dec 11 Python
python的re正则表达式实例代码
Jan 24 Python
Python在groupby分组后提取指定位置记录方法
Apr 20 Python
python自动发送测试报告邮件功能的实现
Jan 22 Python
Python一行代码实现快速排序的方法
Apr 30 Python
Python包,__init__.py功能与用法分析
Jan 07 Python
Python3的socket使用方法详解
Feb 18 Python
Python直接赋值及深浅拷贝原理详解
Sep 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
建立文件交换功能的脚本(二)
2006/10/09 PHP
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
PHP的加密方式及原理
2012/06/14 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
CakePHP框架Model关联对象用法分析
2017/08/04 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
JavaScript 中的事件教程
2007/04/05 Javascript
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
2014/08/18 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
jQuery Password Validation密码验证
2016/12/30 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
微信小程序实现图片上传功能实例(前端+PHP后端)
2018/01/10 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
webpack@v4升级踩坑(小结)
2018/10/08 Javascript
微信小程序template模版的使用方法
2019/04/13 Javascript
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
python实现最长公共子序列
2018/05/22 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
Python如何生成xml文件
2020/06/04 Python
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
荷兰之家英文站:Holland at Home
2016/10/26 全球购物
英国在线泳装店:Simply Swim
2019/05/05 全球购物
2013届毕业生求职信范文
2013/11/20 职场文书
战略合作意向书
2014/07/29 职场文书
Java Spring 控制反转(IOC)容器详解
2021/10/05 Java/Android
深入理解 Golang 的字符串
2022/05/04 Golang