¿Por qué map (print, a_list) no funciona?

Para una función normal,map funciona bien:

def increment(n):
    return n+1
l = [1, 2, 3, 4, 5]
l = map(increment, l)
print l
>>> [2, 3, 4, 5, 6]

Sin embargo, si esprint siendo puesto dentro delmap función:

l = [1, 2, 3, 4, 5]
l = map(print, l)
print l

Python se quejará:

l = map(print, l)
            ^
SyntaxError: invalid syntax

Lo que haceprint ¿especial? No haceprint(x) también una llamada de función válida? El código anterior está probado bajo Python 2.7.

Respuestas a la pregunta(6)

Su respuesta a la pregunta