> I knew there was a way to better implement flatmap - its a combination
> of itertools.chain.from_iterable and map. Here's a much cleaner code
>
> from itertools import chain
>
> print filter(lambda (x,y,z) : x*x + y*y == z*z,
>    chain.from_iterable(map(
>        lambda x: chain.from_iterable(map(
>            lambda y: chain.from_iterable(map(
>                lambda z: [[x,y,z]],
>                range(y,100))),
>            range(x,100))),
>        range(1,50))))
>

Impressive. But having to return [[x, y, z]] instead of [x, y,z] is a
compromise.

I was trying to translate Python list-comprehensions into Javascript
and here is what I've come up with.

$pyjs.listcomp(
    function(x, y, z) { return [x, y, z]},
    [
        range(1, 100),
        function(x) { return range(x, 100)},
        function(x, y) { return range(y, 100)},
    ],
    function(x, y, z) { return x*x + y*y == z*z;}
)

I haven't worked out the $pyjs.listcomp function implementation yet.

Anand
_______________________________________________
BangPypers mailing list
[email protected]
http://mail.python.org/mailman/listinfo/bangpypers

Reply via email to