排序坐标并保持最低值

Jer*_*emy -1 python arrays sorting matrix coordinates

对于下面的数组,我有兴趣根据y轴对X轴进行排序,并记录最低X值的最低元组.

该数组是:

A = [(537, 14),
     (537, 12),
     (538, 13),
     (538, 14), # (538, 14) should be removed and (537, 14) should be kept
     (539, 12),
     (709, 9)]
Run Code Online (Sandbox Code Playgroud)

我会这样做:

New_A = [(537, 14),
         (537, 12),
         (538, 13), 
         (539, 12),
         (709, 9)]
Run Code Online (Sandbox Code Playgroud)

我可以在这尝试什么?

Ev.*_*nis 6

鉴于:

a = [(537, 14),
     (537, 12),
     (538, 13),
     (538, 14),
     (539, 12),
     (709, 9)]
Run Code Online (Sandbox Code Playgroud)

你可以做:

from itertools import groupby
from operator import itemgetter

f = itemgetter(1)
new_a = [next(group) for _, group in groupby(sorted(a, key=f, reverse=True), key=f)]
Run Code Online (Sandbox Code Playgroud)

这使:

[(537, 14), 
 (538, 13), # <- I am assuming you have a typo here OP
 (537, 12), 
 (709, 9)]
Run Code Online (Sandbox Code Playgroud)