比较两个坐标列表并输出差异

时间:2021-01-20 14:21:20

标签: python list

我有两个坐标列表,它们应该有一些重叠(在某个范围内),我试图输出一个新列表,其中包含一个列表中包含的所有坐标,但不包含另一个。有关这些列表的图,请参阅下面的第一张图片。

每个列表中的点可能略有不同,所以我允许每个点周围有少量。

Image showing All_points (White circles) and Initial_points (orange crosses)

到目前为止,我有一些类似于下面显示的内容,它输出的内容与我想要的相反 - 所有点都是两个列表之间的共同点。

range = 0.33

different_points = [[],[]]
        for i in range(len(All_points[0])):
            for j in range(len(Initial_points[1][0])):
                if Initial_points[0][j] - range <= All_points[0][i] <= Initial_points[0][j] + range and Initial_points[1][j] - range <= All_points[1][i] <= Initial_points[1][j] + range:
                    different_points[0].append((All_points[1][0][i]))
                    different_points[1].append((All_points[1][1][i]))

Image showing different_points

我正在努力如何找到相反的列表,或者是否有一种更简单的方法来做这件事,但我缺少这种方法。

预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

使用sets。特别是 intersectiondifference

要么对你有帮助,要么我完全误解了你的问题。