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)
我可以在这尝试什么?
鉴于:
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)
itertools.groupby.operator.itemgetter.