title: Why does map(print, x) return "None" value list?
body: <p>In Python 3.5, the code</p>
  
  <pre><code>&gt;&gt;&gt; T = map(print, [1, 2, 3])
  &gt;&gt;&gt; type(T)
  &lt;class 'map'&gt;
  </code></pre>
  
  <p>returns a map object. I would expect this map object T to contain the numbers 1, 2 and 3; all on separate lines.
  In actuality, this <em>does</em> happen. The only problem is that it also outputs a list of <code>None</code>values the same length as the input list.</p>
  
  <pre><code>&gt;&gt;&gt; list(T)
  1
  2
  3
  [None, None, None]
  &gt;&gt;&gt; 
  </code></pre>
  
  <p>This is repeatable for any input I use, not just the arbitrary integer list shown above.
  Can anyone explain why this happens?</p>