浅谈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生成日历实例解析
Aug 21 Python
python进阶教程之异常处理
Aug 30 Python
对于Python编程中一些重用与缩减的建议
Apr 14 Python
使用70行Python代码实现一个递归下降解析器的教程
Apr 17 Python
python 解压pkl文件的方法
Oct 25 Python
Python socket实现多对多全双工通信的方法
Feb 13 Python
钉钉群自定义机器人消息Python封装的实例
Feb 20 Python
Python facenet进行人脸识别测试过程解析
Aug 16 Python
浅谈Python类中的self到底是干啥的
Nov 11 Python
Mac 使用python3的matplot画图不显示的解决
Nov 23 Python
Tensorflow进行多维矩阵的拆分与拼接实例
Feb 07 Python
python 基于selenium实现鼠标拖拽功能
Dec 24 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
实时抓取YAHOO股票报价的代码
2006/10/09 PHP
php设计模式 Interpreter(解释器模式)
2011/06/26 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
利用javascript如何随机生成一定位数的密码
2017/09/22 Javascript
angular 组件通信的几种实现方式
2018/07/13 Javascript
js使用ajax传值给后台,后台返回字符串处理方法
2018/08/08 Javascript
VUE前后端学习tab写法实例
2019/08/06 Javascript
vuex实现购物车功能
2020/06/28 Javascript
python转换摩斯密码示例
2014/02/16 Python
Python备份目录及目录下的全部内容的实现方法
2016/06/12 Python
Python新手入门最容易犯的错误总结
2017/04/24 Python
git进行版本控制心得详谈
2017/12/10 Python
Django csrf 验证问题的实现
2018/10/09 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
用python打印1~20的整数实例讲解
2019/07/01 Python
python tkinter窗口最大化的实现
2019/07/15 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
2020/04/16 Python
Python如何在main中调用函数内的函数方式
2020/06/01 Python
Python datetime 如何处理时区信息
2020/09/02 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
JAKO-O德国野酷台湾站:德国首屈一指的婴幼童用品品牌
2019/01/14 全球购物
拉斯维加斯城市观光通行证:Las Vegas Pass
2019/05/21 全球购物
实习生个人的自我评价
2013/12/08 职场文书
中学生励志演讲稿
2014/04/26 职场文书
工作目标责任书
2014/07/23 职场文书
公司年底活动方案
2014/08/17 职场文书
2014年安置帮教工作总结
2014/12/11 职场文书
幼儿园教师个人总结
2015/02/05 职场文书
PHP 对接美团大众点评团购券(门票)的开发步骤
2021/04/03 PHP
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android