diff options
author | Raymond Hettinger <python@rcn.com> | 2014-06-14 16:43:35 -0700 |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2014-06-14 16:43:35 -0700 |
commit | 48f68d00b8e017050489635c04c82153a345a336 (patch) | |
tree | 3aacfe3a6c6998200bf003619319f4cc3616b8a6 /Lib/heapq.py | |
parent | 892051af95729098ce4f5fc7f17ca7049c100b14 (diff) | |
download | cpython-git-48f68d00b8e017050489635c04c82153a345a336.tar.gz |
Factor common code into internal functions.
Clean-up names of static functions.
Use Py_RETURN_NONE macro.
Expose private functions needed to support merge().
Move C imports to the bottom of the Python file.
Diffstat (limited to 'Lib/heapq.py')
-rw-r--r-- | Lib/heapq.py | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/Lib/heapq.py b/Lib/heapq.py index b20f04de31..8fb3d0921c 100644 --- a/Lib/heapq.py +++ b/Lib/heapq.py @@ -311,16 +311,6 @@ def _siftup_max(heap, pos): heap[pos] = newitem _siftdown_max(heap, startpos, pos) -# If available, use C implementation -try: - from _heapq import * -except ImportError: - pass -try: - from _heapq import _heapreplace_max -except ImportError: - pass - def merge(*iterables, key=None, reverse=False): '''Merge multiple sorted inputs into a single sorted output. @@ -592,6 +582,24 @@ def nlargest(n, iterable, key=None): result.sort(reverse=True) return [r[2] for r in result] +# If available, use C implementation +try: + from _heapq import * +except ImportError: + pass +try: + from _heapq import _heapreplace_max +except ImportError: + pass +try: + from _heapq import _heapify_max +except ImportError: + pass +try: + from _heapq import _heappop_max +except ImportError: + pass + if __name__ == "__main__": |