Python:有没有办法将列表从高到低排序
我有以下python代码:Python:有没有办法将列表从高到低排序,python,python-3.x,Python,Python 3.x,我有以下python代码: results = {} .... results = sorted([(v, k) for (k, v) in results.items()]) .... return results[:limit] results包含的距离是以较小距离位于列表顶部的方式排序的 是否有一种方法可以对该列表进行排序,以使距离越远的列表位于结果的顶部? 或者,如果我们不反转项目,是否有办法使用返回结果[:limit]获得结果的最后一个项目,而不是顶部结果使用排序的函数中的可选反转参
results = {}
....
results = sorted([(v, k) for (k, v) in results.items()])
....
return results[:limit]
results
包含的距离是以较小距离位于列表顶部的方式排序的
是否有一种方法可以对该列表进行排序,以使距离越远的列表位于结果的顶部
?
或者,如果我们不反转项目,是否有办法使用
返回结果[:limit]
获得结果的最后一个项目,而不是顶部结果使用排序的函数中的可选反转参数:
results= sorted([(v, k) for (k, v) in results.items()], reverse=True)
要回答您提出的第二个问题,由于@Ruzihm已经回答了第一个问题,您可以通过以下方式获得结果的最后几项:
return results[-limit:]
您可能需要reverse=True
或/和heapq
模块您是否只关心排名靠前(或靠后)的项目?如果是这样,您应该研究使用堆(与库一起)。是否有必要更改结果的结构
?如果没有,您可以使用sorted
的key=
参数来完成相同的操作:results=sorted(results.items(),key=lambda n:n[1],reverse=False)
如果这是答案,那么这是一个超级经典的重复,您应该避免回答,如果您能找到合适的重复,请链接它,而不是告诉其他人这样做。请不要这样认为。我们现在还不确定这是不是复制品。只是不清楚。非常感谢你的回答:)非常感谢你的回答:)