浅谈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学习笔记 下载
Feb 10 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
Jan 20 Python
python自动裁剪图像代码分享
Nov 25 Python
Python使用jsonpath-rw模块处理Json对象操作示例
Jul 31 Python
Django forms组件的使用教程
Oct 08 Python
如何运行.ipynb文件的图文讲解
Jun 27 Python
Python下opencv图像阈值处理的使用笔记
Aug 04 Python
Tensorflow累加的实现案例
Feb 05 Python
pytorch实现CNN卷积神经网络
Feb 19 Python
python中sympy库求常微分方程的用法
Apr 28 Python
教你用python实现一个无界面的小型图书管理系统
May 21 Python
python not运算符的实例用法
Jun 30 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 使用post,get的一种简洁方式
2010/04/25 PHP
PHP 第三节 变量介绍
2012/04/28 PHP
PHP计算加权平均数的方法
2015/07/16 PHP
PHP CURL中传递cookie的方法步骤
2019/05/09 PHP
javascript 鼠标滚轮事件
2009/04/09 Javascript
DOM 基本方法
2009/07/18 Javascript
javascript EXCEL 操作类代码
2009/07/30 Javascript
javascript下判断一个对象是否具有指定名称的属性的的代码
2010/01/11 Javascript
jQuery代码优化之基本事件
2011/11/01 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
js取模(求余数)隔行变色
2014/05/15 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
JavaScript的instanceof运算符学习教程
2016/06/08 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
2017/02/28 Javascript
nodejs入门教程二:创建一个简单应用示例
2017/04/24 NodeJs
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
2018/09/12 Javascript
python函数局部变量用法实例分析
2015/08/04 Python
Python requests库用法实例详解
2018/08/14 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
在Python中画图(基于Jupyter notebook的魔法函数)
2019/10/28 Python
Python中断多重循环的几种方式详解
2020/02/10 Python
Sony C++笔试题
2013/03/10 面试题
七年级地理教学反思
2014/01/26 职场文书
工程专业求职自荐书范文
2014/02/18 职场文书
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
教育见习报告范文
2014/11/03 职场文书
我们的节日中秋节活动总结
2015/03/23 职场文书
MBA推荐信怎么写
2015/03/25 职场文书
2015年维修工作总结
2015/04/25 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
小学六一儿童节活动开幕词
2016/03/04 职场文书
python3实现无权最短路径的方法
2021/05/12 Python