Python 两个列表取并集、差集、交集
大家都知道python中set可以去重,对于两个list的运算也可以通过转换为set来实现,在数据量大的情况下,可以省去不必要的for遍历操作
如有下面两个数组:
x = [1,2,3,4]
y = [3,4,5,6]
想要的结果是[3,4]
交集
1.正常
ret = []
for i in x:
if i in y:
ret.xppend(i)
2.简略
ret = [ i for i in x if i in y ]
3.集合
ret = list(set(x) & set(y))
并集
list(set(x).union(set(y)))
list(set(x)|set(y))
差集
list(set(y).difference(set(x))) # y中有而x中没有的
list(set(y)-set(x))