假设我们[4, 5, 2, 3, 1, 6]
如何在不使用.sort
或sorted()
我在想我们可以使用
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]
我该怎么写这个函数?
答案 0 :(得分:8)
您可以使用heapq.nlargest
,就像这样
from heapq import nlargest
print nlargest(3, [4, 5, 2, 3, 1, 6])
# [6, 5, 4]