]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #23549: Clarify confusion in heapq doc - accessing the mininmal element
authorEli Bendersky <eliben@gmail.com>
Sun, 15 Mar 2015 03:20:36 +0000 (20:20 -0700)
committerEli Bendersky <eliben@gmail.com>
Sun, 15 Mar 2015 03:20:36 +0000 (20:20 -0700)
The current documentation only mentions heap[0] as the smallest element in the
beginning, and not in any of the methods' docs. There's no method to access the
minimal element without popping it, and the documentation of nsmallest is
confusing because it may suggest that min() is the way to go for n==1.
default

Doc/library/heapq.rst

index cfc6296148a8a9a4a7262e6b8858882afc1e13ff..a7d1f450944ee86f035e71e03784d0f4e1160acd 100644 (file)
@@ -49,7 +49,8 @@ The following functions are provided:
 .. function:: heappop(heap)
 
    Pop and return the smallest item from the *heap*, maintaining the heap
-   invariant.  If the heap is empty, :exc:`IndexError` is raised.
+   invariant.  If the heap is empty, :exc:`IndexError` is raised.  To access the
+   smallest item without popping it, use ``heap[0]``.
 
 .. function:: heappushpop(heap, item)
 
@@ -125,7 +126,8 @@ The module also offers three general purpose functions based on heaps.
 The latter two functions perform best for smaller values of *n*.  For larger
 values, it is more efficient to use the :func:`sorted` function.  Also, when
 ``n==1``, it is more efficient to use the built-in :func:`min` and :func:`max`
-functions.
+functions.  If repeated usage of these functions is required, consider turning
+the iterable into an actual heap.
 
 
 Basic Examples