Python:在一对对中找到最小y的最大对

3 投票
3 回答
5683 浏览
提问于 2025-04-16 12:31

我想知道怎么从一对对的列表中找到y值最小的那一对,同时又要x值最大的那一对。

我有这样一个列表:

L =[[1,3],[2,5],[-4,0],[2,1],[0,9]]

用max(L)我得到的是[2,5],但我想要的是[2,1]。

3 个回答

0
import operator

get_y= operator.itemgetter(1)
min(L, key=get_y)[0]

找到y坐标最小的点,然后取出它的x坐标。

如果你不喜欢用 operator.itemgetter,可以这样做:

min(L, key=lambda c: c[1])[0]
1

你的问题有点模糊,不过我觉得你想要的是这个:

x, y = zip(*L)
maxPairs = [L[i] for i,a in enumerate(x) if a == max(x)]
returnPair = sorted(maxPairs)[0]
18
max(L, key=lambda item: (item[0], -item[1]))

输出结果:

[2, 1]

撰写回答