想要合并[1,3,4],[2,5] - > [1,2,3,4,5]和zip [1,2,3],[4,5] - > [{1,4},{2,5}]。它不是功课,我只想提高我的列表理解能力。如果你知道任何与它的技巧的链接,不要犹豫提交。
答案 0 :(得分:4)
1> [1,3,4] ++ [2,5].
[1,3,4,2,5]
2> lists:zip([1,2],[4,5]).
[{1,4},{2,5}]
对于拉链,您也可以自己编写:
% zip.erl
-module(zip).
-export([zip/2]).
zip(A, B) ->
zip(A, B, []).
zip(_, [], Result) ->
Result;
zip([], _, Result) ->
Result;
zip([A|ARest], [B|BRest], Result) ->
zip(ARest, BRest, [{A, B}|Result]).
结果:
8> c(zip).
{ok,zip}
9> zip:zip([1,2,3],[4,5]).
[{2,5},{1,4}]