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

(编辑:jimmy 日期: 2024/10/3 浏览:2)

本文实例讲述了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程序设计有所帮助。

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。