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

yipeiwu_com6年前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数据结构与算法之图的广度优先与深度优先搜索算法。分享给大家供大家参考,具体如下: 根据维基百科的伪代码实现: 广度优先BFS: 使用队列,集合 标记初始结点已被...

总结Python编程中三条常用的技巧

在 python 代码中可以看到一些常见的 trick,在这里做一个简单的小结。 json 字符串格式化 在开发 web 应用的时候经常会用到 json 字符串,但是一段比较长的 jso...

python pandas中对Series数据进行轴向连接的实例

有时候我们想要的数据合并结果是数据的轴向连接,在pandas中这可以通过concat来实现。操作的对象通常是Series。 Ipython中的交互代码如下: In [17]: fro...

Python的一些用法分享

1)正则表达式的使用。 复制代码 代码如下: #正则表达式的模块 import re #正则表达式 rePattern = '.*[0-9]{4}' pattern = re.compi...

django中的图片验证码功能

django中的图片验证码功能

python的验证码库(captcha) 将验证码做成这样: 是不是和各大网页的图片源地址是一样,话不多说,让我们看代码: 我是用django和python中的captcha库做成 的...