6 ms·
You don't need a return, just a print (since we are doing FizzBuzz). For tghw's solution to work you'd have to have a print outside of the function call (since
by gamegoblin 13y ago
You don't need a return, just a print (since we are doing FizzBuzz).
For tghw's solution to work you'd have to have a print outside of the function call (since you can't print from a lambda). With the def, you can print inside of the function (and don't need a return, since you're just printing).
- kilink 13y agoA minor quibble, but in Python 3 you can print in a lambda because print is no longer a keyword.
- gamegoblin 13y agoAs 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).
- kilink 13y agoYeah, the map builtin is essentially itertools.imap in python 3.
- benesch 13y agoYou can (ab)use iterable unpacking in Py3k, now that print's a real function: print(*[1,2,3], sep='\n')
- wting 13y agoUse `list()` to force eager evaluation with Python 3 map / filter.
- omaranto 13y agoI 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.