diff options
author | Raymond Hettinger <python@rcn.com> | 2014-06-02 06:40:01 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2014-06-02 06:40:01 (GMT) |
commit | 450ed10c5ee68c2cd6d74a98e3a9a07cdfb88bc0 (patch) | |
tree | 95dfd05ae8331456809cdc9e03ea197e610cffcc | |
parent | 68b272b4773137fbb92db2ffc9ccee381031c4ac (diff) | |
download | cpython-450ed10c5ee68c2cd6d74a98e3a9a07cdfb88bc0.zip cpython-450ed10c5ee68c2cd6d74a98e3a9a07cdfb88bc0.tar.gz cpython-450ed10c5ee68c2cd6d74a98e3a9a07cdfb88bc0.tar.bz2 |
Minor clean-ups.
-rw-r--r-- | Lib/heapq.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Lib/heapq.py b/Lib/heapq.py index 79b46fe..4f71ebf 100644 --- a/Lib/heapq.py +++ b/Lib/heapq.py @@ -397,7 +397,7 @@ def merge(*iterables, key=None, reverse=False): except StopIteration: _heappop(h) if h: - key_value, order, value, next = h[0] + key_value, order, value, next = h[0] yield value yield from next.__self__ @@ -413,7 +413,7 @@ def merge(*iterables, key=None, reverse=False): # number of comparisons # n inputs k-extreme values (average of 5 trials) % more than min() # ------------- ---------------- --------------------- ----------------- -# 1,000 100 3,317 133.2% +# 1,000 100 3,317 233.2% # 10,000 100 14,046 40.5% # 100,000 100 105,749 5.7% # 1,000,000 100 1,007,751 0.8% @@ -496,6 +496,8 @@ def nsmallest(n, iterable, key=None): # When key is none, use simpler decoration if key is None: it = iter(iterable) + # put the range(n) first so that zip() doesn't + # consume one too many elements from the iterator result = [(elem, i) for i, elem in zip(range(n), it)] if not result: return result @@ -594,4 +596,4 @@ def nlargest(n, iterable, key=None): if __name__ == "__main__": import doctest - doctest.testmod() + print(doctest.testmod()) |