title: Why map(print, a_list) doesn't work?
body: <p>For a normal function, <code>map</code> works well:</p>
  
  <pre><code>def increment(n):
      return n+1
  l = [1, 2, 3, 4, 5]
  l = map(increment, l)
  print l
  &gt;&gt;&gt; [2, 3, 4, 5, 6]
  </code></pre>
  
  <p>However, if it's <code>print</code> being put inside the <code>map</code> function: </p>
  
  <pre><code>l = [1, 2, 3, 4, 5]
  l = map(print, l)
  print l
  </code></pre>
  
  <p>python will complain:</p>
  
  <pre><code>l = map(print, l)
              ^
  SyntaxError: invalid syntax
  </code></pre>
  
  <p>What makes <code>print</code> special? Doesn't <code>print(x)</code> also a valid function call? The above code are tested under python 2.7.</p>