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


本文实例讲述了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程序,定义一个函数,输入为两个list,return是两个list的交集与并集 解答

呵呵 楼上错了一点 剽窃剽窃!

def f(l1, l2):
return list(set(l1) & set(l2)), list(set(l1) | set(l2))

l1=['a','b','c']
l2=['d','b','c']
print(f(l1,l2))
#output: (['c', 'b'], ['a', 'c', 'b', 'd'])
 

python 里怎创建两个集合,可以进行交集与并集运算, 要用CLASS与SET 急!!

set是一个built-in type,set.union是求并集,set.intersection是求交集。
 

评论关闭