Scott Queen <scooter4j@gmail.com> added the comment: Fair statement. "Properly sorted" was a poor choice. Seems that "if the invariant is true as a precondition, it will be true as a postcondition" is accurate and descriptive - maybe with a caution that modifying the list (heap) values by means other than the heapq functions are likely to render the invariant false (the latter phrase being for somewhat newbies like me who wouldn't realize this truth without having to learn it in the debugger). On Sun, Nov 26, 2017 at 10:51 AM, abcdef <report@bugs.python.org> wrote:
abcdef <x@mailinator.com> added the comment:
Perhaps heappop could say that the heap invariant is maintained if the heap is properly sorted before the heappop invocation.
Honestly I like this wording less. "Properly sorted" would suggest sorted in the sense of heap.sort() [as the docs refer to this earlier], but the array doesn't have to be sorted; it's enough if it's a heap. The function always maintains the invariant - this means that if the invariant is true as a precondition, it will be true as a postcondition. Maybe you have a different idea?
---------- nosy: +abcdef
_______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue32142> _______________________________________
---------- _______________________________________ Python tracker <report@bugs.python.org> <https://bugs.python.org/issue32142> _______________________________________