我有一个列表 [[1, 2, 7], [1, 2, 3], [1, 2, 3, 7], [1, 2, 3, 5, 6, 7]] 我需要 [1 ,2,3,7] 作为最终结果(这是一种逆向工程)。一种逻辑是检查交叉点 -
while(i<dlistlen):
j=i+1
while(j<dlistlen):
il = dlist1[i]
jl = dlist1[j]
tmp = list(set(il) & set(jl))
print tmp
#print i,j
j=j+1
i=i+1
这给了我输出:
[1, 2]
[1, 2, 7]
[1, 2, 7]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3, 7]
[]
看起来我接近 [1,2,3,7] 作为我的最终答案,但不知道如何。请注意,在第一个列表中 (([[1, 2, 7], [1, 2, 3], [1, 2, 3, 7], [1, 2, 3, 5, 6, 7] ] )) 除了 [1,2,3,4] 之外,可能还有更多的项目导致更多的最终答案。但截至目前,我只需要提取 [1,2,3,7] 。请注意,这不是作业,我正在创建适合我需要的自己的聚类算法。