我有一个如下所示的列表:
[[8.91636727 0.50420552]
[1.50918535 8.43128826]
[4.18447757 0.21850886]
[8.82701669 8.39773898]]
本质上它们是x,y坐标,我想知道如何用最低的y获得最高的x。 (即 8.91.. 和 0.50..)。我从 X 开始并考虑这样做:
for x,y in means:
if x >= start:
start = x; h = x; l = y
else:
start = start
但想知道如何在 y 的分钟内实现这一点。 另外我的另一个问题是可能存在以下情况:
[[8.91636727 0.50420552]
[1.50918535 8.43128826]
[4.18447757 0.21850886]
[**8.92701669** 8.39773898]]
如果我不一定总是想要最高的 x 本身,我想要最高的 x 与最低的 y 相结合。
最佳答案
这是一种使用max
的方法。
例如:
data = [[8.91636727, 0.50420552], [1.50918535, 8.43128826], [4.18447757, 0.21850886], [8.82701669, 8.39773898]]
print(max(data, key=lambda x: (x[0], -x[1])))
输出:
[8.91636727, 0.50420552]
关于python - 如何从Python中的2D列表中获取最大x和最小y坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59030796/