On Fri, Nov 2, 2012 at 3:40 PM, Ian Kelly <ian.g.ke...@gmail.com> wrote: > On Fri, Nov 2, 2012 at 1:19 PM, <foste...@gmail.com> wrote: >> Is there anything anyone could recommend to make it more "Pythonic" or more >> functional. It looks clumsy next to the Haskell. > > def options(heaps): > for i, heap in enumerate(heaps): > head = heaps[:i] > tail = heaps[i+1:] > yield from (head + [x] + tail for x in range(heap)) > > "yield from" is Python 3.3 syntax. If you're not using Python 3.3, > then that line could be replaced by: > > for x in range(heap): > yield head + [x] + tail
In fact, the more that I look at it, the more that I think the latter might be preferable in any case. -- http://mail.python.org/mailman/listinfo/python-list