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

        def popmiddle(self, pos):
                ret = self[pos]
                del(self[pos])
                return ret

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... :)

-tkc



-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to