From 83aa6a3b1a6a406b3cde2fa7daa5d5b1db0cc6a7 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Thu, 13 Mar 2008 19:33:34 +0000 Subject: Simplify the nlargest() code using heappushpop(). --- Lib/heapq.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Lib/heapq.py b/Lib/heapq.py index 23f5fcb..4af9af1 100644 --- a/Lib/heapq.py +++ b/Lib/heapq.py @@ -193,13 +193,9 @@ def nlargest(n, iterable): if not result: return result heapify(result) - _heapreplace = heapreplace - sol = result[0] # sol --> smallest of the nlargest + _heappushpop = heappushpop for elem in it: - if elem <= sol: - continue - _heapreplace(result, elem) - sol = result[0] + heappushpop(result, elem) result.sort(reverse=True) return result -- cgit v0.12