浅谈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怎么学好python?
Oct 07 Python
老生常谈Python startswith()函数与endswith函数
Sep 08 Python
django使用xlwt导出excel文件实例代码
Feb 06 Python
Python中pow()和math.pow()函数用法示例
Feb 11 Python
详解将Django部署到Centos7全攻略
Sep 26 Python
python 实现倒排索引的方法
Dec 25 Python
解决python文件双击运行秒退的问题
Jun 24 Python
.dcm格式文件软件读取及python处理详解
Jan 16 Python
使用celery和Django处理异步任务的流程分析
Feb 19 Python
详解Python修复遥感影像条带的两种方式
Feb 23 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
Apr 22 Python
python实现excel公式格式化的示例代码
Dec 23 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使用函数pathinfo()、parse_url()和basename()解析URL
2016/11/25 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
ie 调试javascript的工具
2009/04/29 Javascript
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
2011/07/15 Javascript
微信JS接口汇总及使用详解
2015/01/09 Javascript
angularJS 中$attrs方法使用指南
2015/02/09 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
javascript中的Function.prototye.bind
2015/06/25 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
2015/09/16 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
2016/10/10 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
JS遍历DOM文档树的方法实例详解
2018/04/03 Javascript
彻底弄懂 JavaScript 执行机制
2018/10/23 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 jQuery
Vue实现拖放排序功能的实例代码
2019/07/08 Javascript
vue绑定数字类型 value为数字的实例
2020/08/31 Javascript
[57:53]Secret vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python使用nntp读取新闻组内容的方法
2015/05/08 Python
Python应用库大全总结
2018/05/30 Python
Python内存读写操作示例
2018/07/18 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
Django 实现xadmin后台菜单改为中文
2019/11/15 Python
对pytorch的函数中的group参数的作用介绍
2020/02/18 Python
win10从零安装配置pytorch全过程图文详解
2020/05/08 Python
关于tf.matmul() 和tf.multiply() 的区别说明
2020/06/18 Python
小学生民族团结演讲稿
2014/08/27 职场文书
单位介绍信格式范文
2015/05/04 职场文书
golang fmt格式“占位符”的实例用法详解
2021/07/04 Golang
mysql sum(if())和count(if())的用法说明
2022/01/18 MySQL
Java由浅入深通关抽象类与接口(下篇)
2022/04/26 Java/Android