Skip to main content
 首页 » 编程设计

python之两个列表列表之间的公共(public)元素(嵌套列表的交集)

2025年05月04日15powertoolsteam

<分区>

我有两个大的二维点列表,如果有的话,我想找到它们的公共(public)子列表。两个列表都很大,效率是个问题。

t1 = [[3, 41], [5, 82], [10, 31], [11, 34], [14, 54]] 
t2 = [[161, 160], [169, 260], [187, 540], [192, 10], [205, 23]] 

我尝试了如下所示的 itertools,但我得到“ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()”。

for i in itertools.chain.from_iterable(t1): 
    if i in t2: 
        print "yes",i 

I tried the first answer from here too , 但我得到 'numpy.int64' object is not iterable. 另外,我认为这个简单的代码可以工作,但它需要很多时间:

intersection = [i for i in t1 if i in t2] 

有什么建议吗?谢谢。