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

如何从OpenCV识别返回的屏幕坐标列表中删除指定坐标项?

解决方案

你可以通过以下两种常用方案实现指定坐标的删除操作,适配不同的使用场景:

方案1:列表推导式(推荐)

该方案会生成新的过滤后列表,不修改原始数据,执行效率更高,适配绝大多数场景:

# 原始OpenCV返回的坐标列表
origin_coords = [(297, 323), (390, 323), (297, 370), (437, 393), (314, 349), (408, 349)]
# 定义需要删除的坐标集合(用集合存储可提升in判断的效率)
remove_set = {(297, 323), (390, 323)}
# 过滤得到新列表
result_coords = [coord for coord in origin_coords if coord not in remove_set]

执行后result_coords的输出为:
[(297, 370), (437, 393), (314, 349), (408, 349)]

方案2:直接修改原始列表

如果需要直接修改原始列表而非生成新对象,可以遍历待删除项执行移除操作,注意提前判断元素存在避免抛出异常:

origin_coords = [(297, 323), (390, 323), (297, 370), (437, 393), (314, 349), (408, 349)]
to_remove = [(297, 323), (390, 323)]
for item in to_remove:
    if item in origin_coords:
        origin_coords.remove(item)

注意:该方案的remove()方法只会删除列表中第一个匹配的元素,如果你需要删除列表中所有重复的指定坐标,仍推荐使用方案1的列表推导式实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:48:04