title: Why is Python's enumerate so slow?
body: <p>Why is "enumerate" slower than "xrange + lst[i]"?</p>
  
  <pre>
  <code>
  >>> from timeit import Timer
  >>> lst = [1,2,3,0,1,2]*1000
  >>> setup = 'from __main__ import lst'
  >>> s1 = """
  for i in range(len(lst)):
      elem = lst[i]
  """
  >>> s2 = """
  for i in xrange(len(lst)):
      elem = lst[i]
  """
  >>> s3 = """
  for i, v in enumerate(lst):
      elem = v
  """
  >>> t1 = Timer(s1, setup); t2 = Timer(s2, setup); t3 = Timer(s3, setup)
  >>> t1.timeit(3000), t2.timeit(3000), t3.timeit(3000)
  (1.9263118636586494, 1.6119261665937992, 1.9606022553145719)
  >>> t1.timeit(3000), t2.timeit(3000), t3.timeit(3000)
  (1.93520258859715, 1.6145745478824836, 1.9529405971988041)
  </code>
  </pre>
  
  <p>EDIT:
  I keep in mind why 
  <pre><code>for i, v in enumerate(lst):
      elem = i, v
  </code></pre> slower than <pre><code>for i in xrange(len(lst)):
      elem = i, lst[i]
  </code></pre></p>