Python实现两个list求交集,并集,差集的方法示例


Posted in Python onAugust 02, 2018

本文实例讲述了Python实现两个list求交集,并集,差集的方法。分享给大家供大家参考,具体如下:

在python中,数组可以用list来表示。如果有两个数组,分别要求交集,并集与差集,怎么实现比较方便呢?

当然最容易想到的是对两个数组做循环,即写两个for循环来实现。这种写法大部分同学应该都会,而且也没有太多的技术含量,本博主就不解释了。这里给大家使用更为装bility的一些方法。

老规矩,talk is cheap,show me the code

#!/usr/bin/env python
#coding:utf-8
'''
Created on 2016年6月9日
@author: lei.wang
'''
def diff(listA,listB):
 #求交集的两种方式
 retA = [i for i in listA if i in listB]
 retB = list(set(listA).intersection(set(listB)))
 print "retA is: ",retA
 print "retB is: ",retB
 #求并集
 retC = list(set(listA).union(set(listB)))
 print "retC1 is: ",retC
 #求差集,在B中但不在A中
 retD = list(set(listB).difference(set(listA)))
 print "retD is: ",retD
 retE = [i for i in listB if i not in listA]
 print "retE is: ",retE
def main():
 listA = [1,2,3,4,5]
 listB = [3,4,5,6,7]
 diff(listA,listB)
if __name__ == '__main__':
 main()

让code run起来

retA is:  [3, 4, 5]
retB is:  [3, 4, 5]
retC1 is:  [1, 2, 3, 4, 5, 6, 7]
retD is:  [6, 7]
retE is:  [6, 7]

结合代码来看,大体上是两种思路:

1.使用列表解析式。列表解析式一般来说比循环更快,而且更pythonic显得更牛逼。

2.将list转成set以后,使用set的各种方法去处理。

更多关于Python相关内容可查看本站专题:《Python列表(list)操作技巧总结》、《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python环境变量设置方法
Aug 28 Python
python WindowsError的错误代码详解
Jul 23 Python
解读python logging模块的使用方法
Apr 17 Python
python 编写简单网页服务器的实例
Jun 01 Python
python实现Zabbix-API监控
Sep 17 Python
python+ffmpeg批量去视频开头的方法
Jan 09 Python
python找出一个列表中相同元素的多个索引实例
Jun 11 Python
django框架实现模板中获取request 的各种信息示例
Jul 01 Python
python编程进阶之异常处理用法实例分析
Feb 21 Python
深入浅析Python 命令行模块 Click
Mar 11 Python
使用Keras预训练好的模型进行目标类别预测详解
Jun 27 Python
python开发实时可视化仪表盘的示例
May 07 Python
python爬虫框架scrapy实现模拟登录操作示例
Aug 02 #Python
python爬虫之线程池和进程池功能与用法详解
Aug 02 #Python
Python列表推导式与生成器用法分析
Aug 02 #Python
python flask实现分页的示例代码
Aug 02 #Python
Django分页查询并返回jsons数据(中文乱码解决方法)
Aug 02 #Python
Python实现正整数分解质因数操作示例
Aug 01 #Python
Python列表生成式与生成器操作示例
Aug 01 #Python
You might like
PHP Document 代码注释规范
2009/04/13 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
javascript 面向对象封装与继承
2014/11/27 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
2016/01/26 Javascript
AngularJs Managing Service Dependencies详解
2016/09/02 Javascript
JS简单实现浮动窗口效果示例
2016/09/07 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
p5.js入门教程和基本形状绘制
2018/03/15 Javascript
JavaScript实现美化滑块效果
2019/05/17 Javascript
基于webpack4+vue-cli3项目实现换肤功能
2019/07/17 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
js实现全选和全不选
2020/07/28 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
Django返回json数据用法示例
2016/09/18 Python
python 基于TCP协议的套接字编程详解
2019/06/29 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
python 实现目录复制的三种小结
2019/12/04 Python
python重要函数eval多种用法解析
2020/01/14 Python
40个你可能不知道的Python技巧附代码
2020/01/29 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
python实现最短路径的实例方法
2020/07/19 Python
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
一名女生的自荐信
2013/12/08 职场文书
技术总监管理岗位职责
2014/03/09 职场文书
银行内勤岗位职责
2014/04/09 职场文书
庆国庆活动总结
2014/08/28 职场文书
出租车拒载检讨书
2015/01/28 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
开展警示教育活动总结
2015/05/09 职场文书
幼儿园园长工作总结2015
2015/05/25 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书