Python求两个list的差集、交集与并集的方法

yipeiwu_com4年前Python基础

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

list就是指两个数组之间的差集,交集,并集了,这个小学数学时就学过的东西,下面就以实例形式对此加以分析。

一.两个list差集

如有下面两个数组:
a = [1,2,3]
b = [2,3]
想要的结果是[1]
下面记录一下三种实现方式:
1. 正常的方式

复制代码 代码如下:
ret = []
for i in a:
    if i not in b:
        ret.append(i)

2. 浓缩版

复制代码 代码如下:
ret = [ i for i in a if i not in b ]

3. 另一版

复制代码 代码如下:
ret = list(set(a) ^ set(b))

个人更喜欢第三种实现方式

二. 获取两个list 的并集
 

复制代码 代码如下:
print list(set(a).union(set(b)))

三. 获取两个 list 的差集

复制代码 代码如下:
print list(set(b).difference(set(a))) # b中有而a中没有的

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

相关文章

Python变量访问权限控制详解

Python变量访问权限控制详解

oop1.py文件代码 # user/bin/python class Foo: def bar(self): print('ok') def hello(self, name):...

通过PHP与Python代码对比的语法差异详解

一、背景 人工智能这几年一直都比较火,笔者一直想去学习一番;因为一直是从事PHP开发工作,对于Python接触并不算多,总是在关键时候面临着基础不牢,地动山摇的尴尬,比如在遇到稍微深入...

python3处理含有中文的url方法

python3处理含有中文的url方法

如下所示: from urllib.parse import quote import string url = r'http://www.xxxx.com/name=中文' ur...

Python并发之多进程的方法实例代码

一,进程的理论基础 一个应用程序,归根结底是一堆代码,是静态的,而进程才是执行中的程序,在一个程序运行的时候会有多个进程并发执行。 进程和线程的区别: 进程是系统资源分配的基本单位...

详解Python函数可变参数定义及其参数传递方式

Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1、 func(*args)  传入的参数为以元组形式存在args...