我正在寻找一种从2D列表中删除重复项的方法,但是基于第二列中的最高值。我知道如何在几个for循环中完成,但我正在寻找一个O(N)解决方案。 样本输入:
inputLst = [[100,150]
,[150,140]
,[200,180]
,[300,150]
,[300,100]
,[320,180]]
输出应为:
^{pr2}$这是我现在掌握的代码:
SortLst = [[100,150],[150,140],[200,180],[300,150],[300,100],[320,180]]
lst = []
lastRow = SortLst[0]
for row in SortLst+[0,0]:
if row[0] != lastRow[0]:
lst.append(lastRow)
lastRow = row
elif row [1] > lastRow[1]:
lastRow = row
排序依据:
SortLst = sorted(zip(self.WavelengthPanel.GetValues(col=1),self.Shuttertime))
你可以看看这个
输出
^{pr2}$您可以轻松地将输出转换为列表。在
相关问题 更多 >
编程相关推荐