Python比较两个不同的对象数组

Python比较两个不同的对象数组,python,Python,我试图比较Python3中两个不同数组的两个不同项。对于大型阵列,我遇到了一个恼人的性能问题 我在互联网上搜索了一下,发现上面提到的所有方法都希望我先循环第一个数组,然后循环第二个列表并比较其中的项目 有没有更好的办法 示例代码: array1 = [[1233, 56, 77], [3123, 321, 22], [2131, 43, 12]] array2 = [[3213, 11], [4312, 22], [4253, 33], [8767, 44]] for item1 in arr

我试图比较Python3中两个不同数组的两个不同项。对于大型阵列,我遇到了一个恼人的性能问题

我在互联网上搜索了一下,发现上面提到的所有方法都希望我先循环第一个数组,然后循环第二个列表并比较其中的项目

有没有更好的办法

示例代码:

array1 = [[1233, 56, 77], [3123, 321, 22], [2131, 43, 12]]
array2 = [[3213, 11], [4312, 22], [4253, 33], [8767, 44]]

for item1 in array1:
    for item2 in array2:
        if item2[1] < item1[1] and item2[1] < item1[2] and \
            item1[0] + 1000 >= item2[0] >= item1[0]:
                comparisonOutput.append([item2[0], item1[0], item2[0] - item1[0], item2[1], item1[1] - item2[1], item1[2] - item2[1]])
array1=[[1233,56,77]、[3123321,22]、[2131,43,12]]
数组2=[[3213,11],[4312,22],[4253,33],[8767,44]]
对于阵列1中的第1项:
对于array2中的第2项:
如果项目2[1]<1[1]和项目2[1]<1[2]和\
item1[0]+1000>=item2[0]>=item1[0]:
comparisonOutput.append([item2[0]、item1[0]、item2[0]-item1[0]、item2[1]、item1[1]-item2[1]、item1[2]-item2[1])

提前对两个数组进行排序。然后可以在适用时终止循环。例如,如果item[0]+1000>item2[0]为false,则您知道如果下一个item2元素的第一个索引更大,则在下一次迭代中不会为true。我应该将条件代码分为四,而不是一次对其进行编码,对吗?如果有任何问题,您应该将最有可能失败的条件放在第一位。那么未来的“和”条件将不会被评估。在没有任何数据背景的情况下,很难进一步提供帮助。