Bug in Python?
Steven D'Aprano
steve at pearwood.info
Sat Feb 27 04:44:30 EST 2016
On Sat, 27 Feb 2016 07:55 pm, Terry Reedy wrote:
> In other words, when that doc says *list*, it means a *list*.
>
> "To create a heap, use a list initialized to [], or you can transform a
> populated list into a heap via function heapify()."
[...]
> "A heap must be an instance of *list* (and not a subclass thereof). To
> create a heap, start with [] or transform an existing list into a heap
> via function heapify()."
I think that's a sad decision. heapq ought to be able to handle any list
subclass, not just actual lists. Preferably it ought to handle duck-typed
lists too, anything with a list-like interface. It is okay if the optimized
C version only works with actual lists, and falls back to a slower Python
version for anything else.
--
Steven
More information about the Python-list
mailing list