Для нормальной функции map работает хорошо:
def increment(n):
return n+1
l = [1, 2, 3, 4, 5]
l = map(increment, l)
print l
>>> [2, 3, 4, 5, 6]
Однако, если он print помещается внутри функции map:
l = [1, 2, 3, 4, 5]
l = map(print, l)
print l
python будет жаловаться:
l = map(print, l)
^
SyntaxError: invalid syntax
Что делает print особенным? Не выполняет ли print(x) действительный вызов функции? Вышеупомянутый код тестируется под python 2.7.