'Delete and return an item specified by index, not a random one as in
dict. The index is -1 by default (the last item).
>>> d = OrderedDict(((1, 3), (3, 2), (2, 1)))
>>> d.popitem()
(2, 1)
>>> d
OrderedDict([(1, 3), (3, 2)])
>>> d.popitem(0)
(1, 3)
>>> OrderedDict().popitem()
Traceback (most recent call last):
KeyError: \'popitem(): dictionary is empty\'
>>> d.popitem(2)
Traceback (most recent call last):
IndexError: popitem(): index 2 not valid'

def popitem(self, i=(-1)):

    if (not self._sequence):
        raise KeyError('popitem():    dictionary    is    empty')
    try:
        key = self._sequence[i]
    except IndexError:
        raise IndexError(('popitem():    index    %s    not    valid' % i))
    return (key, self.pop(key))
