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 -~----------~----~----~----~------~----~------~--~---