because U want to create a new list and not print my_item to the standard output
maybe U better write something like this:
my_list = [1,2,3]
[my_item for my_item in my_list]
btw print is not a function but print("abc") works fine when it works at all. Example:
>>> my_list=[1,2,3]
>>> [print(my_item) for my_item in my_list]
File "<stdin>", line 1
[print(my_item) for my_item in my_list]
^
SyntaxError: invalid syntax
>>> [print my_item for my_item in my_list]
File "<stdin>", line 1
[print my_item for my_item in my_list]
^
SyntaxError: invalid syntax
>>> print("abc")
abc
aaaand if u write print, better write print(). That is the smart move, because some day U have to use python3. there it is a function.