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

如何高效筛选指定高度的点及查询所有不同高度?

Python点列表处理问题解答

一、筛选指定高度(y值)的点

你当前的循环实现已经是时间复杂度为O(n)的高效方案——毕竟要筛选符合条件的点,必须遍历所有元素一次。如果想让代码更简洁,推荐用Python的列表推导式,写法紧凑且性能和循环几乎无差异:

points = [[1,2],[1,3],[2,1],[2,3]]
target_y = 3
answer = [p for p in points if p[1] == target_y]
# 输出: [[1,3],[2,3]]

二、获取所有存在的不同高度

要提取所有不重复的y值,用集合(set)是最便捷的方式,集合会自动帮你去重。如果需要有序的结果,再对集合转成的列表进行排序:

points = [[1,2],[1,3],[2,1],[2,3]]
# 获取无序的唯一y值
unique_ys = list({p[1] for p in points})
# 获取从小到大排序后的唯一y值
sorted_unique_ys = sorted({p[1] for p in points})
# sorted_unique_ys输出: [1,2,3]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 21:19:50