Accessing Items In a ordereddict
Question: Lets say I have the following code:

    
    
    import collections
    d = collections.OrderedDict()
    d['foo'] = 'python'
    d['bar'] = 'spam'
    

Is there a way I can access the items in a numbered manner, like:

    
    
    d(0) #foo's Output
    d(1) #bar's Output
    


Answer: If its an `OrderedDict()` you can easily access the elements by indexing by
getting the tuples of (key,value) pairs as follows

    
    
    >>> import collections
    >>> d = collections.OrderedDict()
    >>> d['foo'] = 'python'
    >>> d['bar'] = 'spam'
    >>> d.items()
    [('foo', 'python'), ('bar', 'spam')]
    >>> d.items()[0]
    ('foo', 'python')
    >>> d.items()[1]
    ('bar', 'spam')
    

**Note for Python 3.X**

`dict.items` would return an [iterable dict view
object](http://docs.python.org/3.3/library/stdtypes.html#dict-views) rather
than a list. We need to wrap the call onto a list in order to make the
indexing possible

    
    
    >>> items = list(d.items())
    >>> items
    [('foo', 'python'), ('bar', 'spam')]
    >>> items[0]
    ('foo', 'python')
    >>> items[1]
    ('bar', 'spam')
    

