You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在两个坐标列表中找出重复坐标以匹配路线衔接关系?

如何找出起点列表与终点列表中的重复坐标?

我有两组路线坐标列表,分别是起点列表和终点列表,需要找出能衔接路线的重复坐标——也就是某条路线的起点等于另一条路线的终点。举个例子:

start_point = [[1,2],[2,4],[3,5]]
end_point = [[3,3],[3,4],[3,5]]

期望得到的结果是 [3,5]。想问下Python有没有内置函数或相关库能实现这个需求?是不是必须写递归循环?


完全不用递归循环,用Python内置的集合(set)就能高效解决,核心思路是把列表转成可哈希的元组(因为列表不能直接存入集合),然后求两个集合的交集,最后再转成列表格式。

具体实现代码:

start_point = [[1,2],[2,4],[3,5]]
end_point = [[3,3],[3,4],[3,5]]

# 将坐标列表转为元组集合(元组可哈希,能存入集合)
start_set = set(tuple(p) for p in start_point)
end_set = set(tuple(p) for p in end_point)

# 求两个集合的交集,再转回列表格式
common_points = [list(p) for p in start_set & end_set]

print(common_points)  # 输出: [[3, 5]]

如果确定只会有一个重复点,直接取 common_points[0] 就能得到目标坐标。

如果你的坐标是浮点数,要注意精度误差问题,这时候可能需要用math.isclose来做近似相等判断,但整数坐标场景下,上面的方法完全够用。

内容的提问来源于stack exchange,提问作者YURI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 12:54:25