Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As a non-Python 3 user, I just opened up the python 3 REPL to try something I always find myself wanting to do in tiny little python scripts:

  map(print, some_list)
Unfortunately, it returned a map object, which I guess is also new in Python 3 (I assume it's a lazy application device).


You can (ab)use iterable unpacking in Py3k, now that print's a real function:

    print(*[1,2,3], sep='\n')


I use this function to force evaluation of elements in a generator:

    def do(gen):
       for x in gen:
          pass
It evaluates all elements of a generator with storing them in memory. If you don't mind generating some garbage, you can just use the list function instead.


Use `list()` to force eager evaluation with Python 3 map / filter.


Yeah, the map builtin is essentially itertools.imap in python 3.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: