假设我们有[4, 5, 2, 3, 1, 6]
如何在不使用.sort
或sorted()
的情况下按降序获得最高的3
我当时以为我们可以使用
x = [4, 5, 2, 3, 1, 6]
mad(x) = 6
y = x.remove(max(x)) #[4, 5, 2, 3, 1]
然后继续获取
max(y) = 5
。直到我们最终得到[6,5,4]
,我该如何编写此函数? 最佳答案
您可以像这样使用heapq.nlargest
from heapq import nlargest
print nlargest(3, [4, 5, 2, 3, 1, 6])
# [6, 5, 4]