Write it as a list comprehension instead; it has identical syntax except for using square brackets instead of parentheses, and returns a list.
Would the following work? It's been a while since I've had Py3 installed, so I can't casually try it. In your PYTHONSTARTUP, place the following:
_map = map
def map(f, *args):
return list(_map(f, *args))
So you get lists in interactive mode, but iterators in actual scripts.