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中操作字典之clear()方法的使用
May 21 Python
对pandas的dataframe绘图并保存的实现方法
Aug 05 Python
python简单商城购物车实例代码
Mar 15 Python
使用pycharm生成代码模板的实例
May 23 Python
Python装饰器模式定义与用法分析
Aug 06 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
Sep 19 Python
Python os.access()用法实例
Feb 18 Python
python3文件复制、延迟文件复制任务的实现方法
Sep 02 Python
pyftplib中文乱码问题解决方案
Jan 11 Python
Python 改变数组类型为uint8的实现
Apr 09 Python
Python判断远程服务器上Excel文件是否被人打开的方法
Jul 13 Python
Django解决frame拒绝问题的方法
Dec 18 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
德劲1103的维修打理经验
2021/03/02 无线电
PHP安全技术之 实现php基本安全
2010/09/04 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
2013/05/03 PHP
基于php无限分类的深入理解
2013/06/02 PHP
php使用curl检测网页是否被百度收录的示例分享
2014/01/31 PHP
PHP dirname(__FILE__)原理及用法解析
2020/10/28 PHP
用JavaScript 处理 URL 的两个函数代码
2007/08/13 Javascript
jquery插件开发方法(初学者)
2012/02/03 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
input:checkbox多选框实现单选效果跟radio一样
2014/06/16 Javascript
jQuery+PHP星级评分实现方法
2015/10/02 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
基于javascript数组实现图片轮播
2016/05/02 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
2016/11/10 Javascript
jquery easyui DataGrid简单示例
2017/01/23 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
python使用scrapy解析js示例
2014/01/23 Python
Django 缓存配置Redis使用详解
2019/07/23 Python
python多进程间通信代码实例
2019/09/30 Python
Python3 sys.argv[ ]用法详解
2019/10/24 Python
python 实现屏幕录制示例
2019/12/23 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
2020/04/08 Python
印度尼西亚电子产品购物网站:Kliknklik
2018/06/05 全球购物
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
意大利时尚精品店:Nugnes 1920
2020/02/10 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
静态变量和实例变量的区别
2015/07/07 面试题
中青班党性分析材料
2014/02/16 职场文书
故宫导游词
2015/01/31 职场文书
普宁寺导游词
2015/02/04 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
python中__slots__节约内存的具体做法
2021/07/04 Python
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技