title: Strange behaviour of enumerate in IPython
body: <p>I appear to be experiencing some strange behaviour in IPython shell, and Notebook with regard to enumerate object, or I am not understanding something. In particular I can only get output for the following when I call the enumerate function inside the operation. I cannot create an enumerate object and then get output based on that, is this normal?</p>
  
  <p>The set up:</p>
  
  <pre><code>In [1]: ee_cummings = ['sun', 'moon', 'stars', 'rain']
  In [2]: enumerate_object = enumerate(ee_cummings)
  In [3]: list(enumerate_object)
  Out[3]: [(0, 'sun'), (1, 'moon'), (2, 'stars'), (3, 'rain')]
  </code></pre>
  
  <p>Now the following give me no output whatsoever:</p>
  
  <pre><code>In [4]: for tup in enumerate_object:
              print tup
  In [5]: [index for index, element in enumerate_object]
  </code></pre>
  
  <p>But the following do give the expected output:</p>
  
  <pre><code>In [6]: for tup in enumerate(ee_cummings):
               print tup
          (0, 'sun')
          (1, 'moon')
          (2, 'stars')
          (3, 'rain')
  In [7]: [index for index, element in enumerate(ee_cummings)]
  Out[7]: [0, 1, 2, 3]
  </code></pre>
  
  <p>Is there something about the enumerate object that I am missing that does not allow it to be assigned in this manner?</p>