Haskell -> Python

Ian Kelly ian.g.kelly at gmail.com
Fri Nov 2 17:40:53 EDT 2012


On Fri, Nov 2, 2012 at 1:19 PM,  <foster63 at 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

Cheers,
Ian



More information about the Python-list mailing list