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计算三角函数之atan()方法的使用
May 15 Python
Python随手笔记之标准类型内建函数
Dec 02 Python
Python登录注册验证功能实现
Jun 18 Python
Python get获取页面cookie代码实例
Sep 12 Python
Python如何使用函数做字典的值
Nov 30 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
Feb 20 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
Jun 18 Python
Python环境管理virtualenv&virtualenvwrapper的配置详解
Jul 01 Python
详解pandas赋值失败问题解决
Nov 29 Python
selenium+超级鹰实现模拟登录12306
Jan 24 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
Mar 03 Python
正确的理解和使用Django信号(Signals)
Apr 14 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
用PHP的超级变量$_GET获取HTML表单(Form) 数据
2011/05/07 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
2015/01/07 PHP
Zend Framework实现多服务器共享SESSION数据的方法
2016/03/22 PHP
PHP实现的方程求解示例分析
2016/11/11 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
javascript将url中的参数加密解密代码
2014/11/17 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
2015/02/04 Javascript
AngularJS 面试题集锦
2016/09/06 Javascript
关于Promise 异步编程的实例讲解
2017/09/01 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
少女风vue组件库的制作全过程
2019/05/15 Javascript
Vue中图片Src使用变量的方法
2019/10/30 Javascript
node后端服务保活的实现
2019/11/10 Javascript
Python实现计算文件夹下.h和.cpp文件的总行数
2015/04/23 Python
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
通过Pandas读取大文件的实例
2018/06/07 Python
详解将Django部署到Centos7全攻略
2018/09/26 Python
python根据时间获取周数代码实例
2019/09/30 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
2013/01/31 HTML / CSS
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
海外淘书首选:AbeBooks
2017/07/31 全球购物
酒店管理专业学生求职信
2013/09/27 职场文书
高中数学教学反思
2014/01/30 职场文书
销售团队获奖感言
2014/08/14 职场文书
2015年幼儿园安全工作总结
2015/05/12 职场文书
员工工作心得体会
2019/05/07 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
css3实现背景图片颜色修改的多种方式
2021/04/13 HTML / CSS