[Python-Dev] heapq
Jeremy Fincher
fincher.8@osu.edu
Sun, 20 Apr 2003 04:56:46 -0400
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I must agree with Agthorr that the interface to heapq could use some work. I
wrote a simple wrapper around the heapq functions to give myself a heapq
object (with methods like push, pop, etc.) Here's that object:
class heap(list):
__slots__ = ()
def __init__(self, seq):
list.__init__(self, seq)
heapify(self)
def pop(self):
lastelt = list.pop(self)
if self:
returnitem = self[0]
self[0] = lastelt
_siftup(self, 0)
else:
returnitem = lastelt
return returnitem
replace = heapreplace
push = heappush
Is there any possibility of such an interface going into the heapq module? I
find it much cleaner and easier to read than the "functions operating on
sequences" interface heapq currently offers.
I've got unit tests for the object written, if it is something that will
possibly go into the standard library.
Jeremy
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (FreeBSD)
iD8DBQE+omDOqkDiu+Bs+JIRAu0wAJ9xpx+7nH0fNiZzJhl34tWUbHN4HgCfZx9G
38IgV4lSY6adYyLEufWG6mk=
=NVlh
-----END PGP SIGNATURE-----