Python二维数组怎么求并集?
bwin官网
bwin官网
当前位置 : bwin官网 > bwin官网

Python二维数组怎么求并集?

a=[[1,2,g],[2,4,f]]
b=[[2,4,f],[1,2,f]]

a和b的并集是

c=[[1,2,g],[2,4,f],[1,2,f]]

无法使用set.union,怎么破?只能自己实现遍历么?

你可以用如下代码来实现:

a=[[1,2,g],[2,4,f]]
b=[[2,4,f],[1,2,f]]
tmp = a + b
c = [ tmp[i] for i in range0, lentmp if tmp[i] not in tmp[:i] ]

检查结果:

print c
[[1, 2, g], [2, 4, f], [1, 2, f]]

可以这样:

a=[[1,2,g],[2,4,f]]
b=[[2,4,f],[1,2,f]]
c=[listi for i in settuplej for j in a+b]

检查结果:

print c
[[2, 4, f], [1, 2, f], [1, 2, g]]

直接使用集合操作肯定是不行的,因为列表里面的元素还是 列表,是一个可变对象,而集合操作的对象必须是不可变对象,因此如果想去重的话, 简单点的方法就是楼上的回复,转换为不可变对象tuple,从而再进行set去重。 如下,其实还是遍历。

maplist,setmaptuple, a + b

栏目列表

广告位

bwin官网