title: What is the most pythonic way to iterate over OrderedDict
body: <p>I have an OrderedDict and in a loop I want to get index, key and value. 
  It's sure can be done in multiple ways, i.e.</p>
  
  <pre><code>a = collections.OrderedDict({…})
  for i,b,c in zip(range(len(a)), a.iterkeys(), a.itervalues()):
    …
  </code></pre>
  
  <p>But I would like to avoid range(len(a)) and shorten a.iterkeys(), a.itervalues() to something like a.iteritems().
  With enumerate and iteritems it's possible to rephrase as</p>
  
  <pre><code>for i,d in enumerate(a.iteritems()):
    b,c = d
  </code></pre>
  
  <p>But it requires to unpack inside the loop body. 
  Is there a way to unpack in a for statement or maybe a more elegant way to iterate?</p>