[Russell Warren]
> ...
> As to indexing into a deque being O(index)... I didn't realize that.
> It is certainly something to keep in mind, though... looping through
> the contents of a deque would obviously be a bad idea with this being
> the case! I wonder if the generator for the deque helps red
> So does the speed of the remaining 0.001 cases really matter? Note
> that even just indexing into a deque takes O(index) time.
It doesn't matter as much, of course, but I was looking to make every
step as efficient as possible (while staying in python).
As to indexing into a deque being O(inde
Thanks for the responses.
> It seems to work with my Python2.4 here. If you're
> interested in efficiency, I'll leave their comparison as an
> exercise to the reader... :)
Ok, exercise complete! :) For the record, they are pretty much the
same speed...
>>> s = """
... from collections import d
[Russell Warren]
|> Does anyone have an easier/faster/better way of popping from the middle
> of a deque than this?
>
> class mydeque(deque):
> def popmiddle(self, pos):
> self.rotate(-pos)
> ret = self.popleft()
> self.rotate(pos)
> return ret
As Tim Chase said, the easiest way
> Does anyone have an easier/faster/better way of popping from the middle
> of a deque than this?
>
> class mydeque(deque):
> def popmiddle(self, pos):
> self.rotate(-pos)
> ret = self.popleft()
> self.rotate(pos)
> return ret
My first thought would just be to use indexing:
Does anyone have an easier/faster/better way of popping from the middle
of a deque than this?
class mydeque(deque):
def popmiddle(self, pos):
self.rotate(-pos)
ret = self.popleft()
self.rotate(pos)
return ret
I do recognize that this is not the intent of a deque, given the
clear