On Fri, Apr 10, 2009 at 7:52 PM, Malcolm Tredinnick <
malc...@pointy-stick.com> wrote:

>
> On Fri, 2009-04-10 at 19:44 -0400, Alex Gaynor wrote:
> >
> >
> > On Fri, Apr 10, 2009 at 7:40 PM, Malcolm Tredinnick
> > <malc...@pointy-stick.com> wrote:
> [...]
> >
> >         Particularly with iterators, storing the (next head item, rest
> >         of
> >         iterator) pair in a heap leads to a very neat and fast way to
> >         create a
> >         combined iterator. Here's one professional-quality
> >         implementation that I
> >         would recommend: http://code.activestate.com/recipes/491285/
> >
> > It has one unfortunate failing(which is the fault of the heapq
> > library), it doesn't take a key/cmp function like sorted does.  It is
> > otherwise completely excellent though.
>
> It's Python and so is the heap module! Modifying things is easy. I've
> used the same solution with custom comparison functions one a number of
> occasions. Even writing a small heap implementaiton with a custom
> comparison is only about two dozen lines. Come on, think a little bit
> outside the box!
>

I'm not!  A heap sort is a great solution to this problem(but you already
knew that), it's just that the implementation in the python stdlib doesn't
work perfectly for this usecase(indeed I filed a ticket about this upsteam
several months ago, for reference it was rejected).  I did the same thing
you suggested for a blog post on this topic a number of months ago, however
it wasn't nearly as optimial as this(I believe you even commented to that
effect on the post).


>
> Regards,
> Malcolm
>
>
>
>
> >
>
Alex

-- 
"I disapprove of what you say, but I will defend to the death your right to
say it." --Voltaire
"The people's good is the highest law."--Cicero

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to