Hi Dmitry,<div><br></div><div>What your suggested can really solve my problem, but it's not Tail-Recursion. The tail-recursed solution should look like this;</div><div><br></div><div>map2(_Fun, [], []) -><br>   [];</div>
<div>map2(Fun, L1, L2) -></div><div>   map2(Fun, L1, L2, []).</div><div><br></div><div>map2(_Fun, [], [], L) -></div><div>   lists:reverse(L);</div><div>map2(Fun, [H1 | T1], [H2 | T2], L) -></div><div>   map2(Fun, T1, T2, [Fun(H1, H2) | L]).</div>
<div><br></div><div><br></div><div>However, I'm still disappointed with the list comprehension which is different from what I intuitively imagine about it.</div><div><br></div><div><br></div><div>Regards,</div><div>Barco</div>
<div><br><div class="gmail_quote">On Fri, Nov 18, 2011 at 1:49 PM, Dmitry Demeshchuk <span dir="ltr"><<a href="mailto:demeshchuk@gmail.com">demeshchuk@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
My guess is you have to zip them together, or just write a<br>
tail-recursed function:<br>
<br>
map2(Fun, [H1 | T1], [H2 | T2]) -><br>
    [Fun(H1, H2) | map2(Fun, T1, T2)];<br>
map2(Fun, [], []) -><br>
    [].<br>
<br>
The second option definitely isn't a list comprehension, but it<br>
requires less memory and has lesser complexity.<br>
<div><div class="h5"><br>
On Fri, Nov 18, 2011 at 9:45 AM, Barco You <<a href="mailto:barcojie@gmail.com">barcojie@gmail.com</a>> wrote:<br>
> Dear Erlangers,<br>
><br>
> I hope to get a list from two lists like this:<br>
> [{a1,b1}, {a2,b2}, {a3,b3}]      <-     [a1, a2 a3],  [b1, b2, b3].<br>
> But if I use list comprehension, I got:<br>
> 10>  [{D1,D2} ||  D1 <- [a1,a2,a3], D2 <- [b1,b2,b3]].<br>
> [{a1,b1},<br>
>  {a1,b2},<br>
>  {a1,b3},<br>
>  {a2,b1},<br>
>  {a2,b2},<br>
>  {a2,b3},<br>
>  {a3,b1},<br>
>  {a3,b2},<br>
>  {a3,b3}]<br>
><br>
> So, my questions is how to comprehend list in synchronous way in order to<br>
> get what I want, rather than to compose the elements from two lists in all<br>
> possible situations.<br>
><br>
> Thank you,<br>
> Barco<br>
</div></div>> _______________________________________________<br>
> erlang-questions mailing list<br>
> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
><br>
><br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
--<br>
Best regards,<br>
Dmitry Demeshchuk<br>
</font></span></blockquote></div><br></div>