Для нормальной функции хорошо работает 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
питон будет жаловаться:
l = map(print, l)
^
SyntaxError: invalid syntax
Что делает print
особенным? Разве print(x)
не является допустимым вызовом функции? Приведенный выше код протестирован под Python 2.7.