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