Для нормальной функции 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.