26 Nov
2017
26 Nov
'17
8:24 a.m.
Eric V. Smith <eric@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 <report@bugs.python.org> <https://bugs.python.org/issue32142> _______________________________________