def back(self, i=1):
        '''Jump to a location in history ``i`` steps back.
        
        :param i: The number of steps to jump back.
        :type i: positive int
        :returns: The current :attr:`location`.
        '''
        if i > 0:
            push_forward = self._forward.appendleft
            pop_back = self._back.pop
            for _ in xrange(min(i, len(self._back)-1)):
                push_forward(pop_back())
        return self.location
Jump to a location in history ``i`` steps back.
        
        :param i: The number of steps to jump back.
        :type i: positive int
        :returns: The current :attr:`location`.
        
recipes/Python/576991_Browser_history_data_structure/recipe-576991.py