title: map in Python 3 vs Python 2
body: <p>I'm a Python newbie reading an old Python book. It's based on Python 2, so sometimes I got little confused about detail.</p>
  
  <p>There is a code</p>
  
  <pre><code>L=map(lambda x:2**x, range(7))
  </code></pre>
  
  <p>so it doesn't return the list in python 3, and I googled it and found that <code>list(L</code>) works.
  But the problem is, first <code>list(L)</code> works fine,
  but when I use it again,</p>
  
  <pre><code>list(L)
  
  list(L)
  </code></pre>
  
  <p>second one returns <code>[ ]</code></p>
  
  <p>Can somebody explain me what's happening?</p>