In Python 2.x, print is a statement, not a function.  If you try this in Python 3.x it will work.
In Python 2.x, you can say print(x) and it is not a syntax error, but it isn't actually a function call.  Just as 1 + (3) is the same as 1 + 3, print(x) is the same as print x in Python 2.x.
In Python 2.x you can do this:
def prn(x):
    print x
Then you can do:
map(prn, lst)
and it will work.  Note that you probably don't want to do lst = map(prn, lst) because prn() returns None, so you will replace your list of values with a same-length list of just the value None.
EDIT: Two other solutions for Python 2.x.
If you want to completely change the behavior of print, you can do this:
from __future__ import print_function
map(print, lst)
This makes print into a function just as it is in Python 3.x, so it works with map().
Or, you can do this:
from pprint import pprint
map(pprint, lst)
pprint() is a function that prints things and it is available as a built-in.  I'm not exactly sure how it is different from the default print (it says it is a "pretty-print" function but I'm not sure how exactly that makes it different).
Also, according to the PEP 8 standard, it is non-recommended to use l as a variable name, so I am using lst instead in my examples.
http://www.python.org/dev/peps/pep-0008/