Eric V. Smith <e...@trueblade.com> added the comment: The heap invariant is also required in order to even meet the documented behavior of returning the smallest item.
>>> import heapq >>> li = [5, 7, 9, 1, 4, 3] >>> heapq.heapify(li) >>> li [1, 4, 3, 7, 5, 9] >>> li[2] = 0 >>> heapq.heappop(li) 1 >>> li [0, 4, 9, 7, 5] >>> I guess the argument could be made that docs say "from the heap", and by modifying the list yourself it's no longer a heap. ---------- nosy: +eric.smith _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue32142> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com