我有一个我想“解压缩”的项目列表。基本上这意味着如果我有一个项目列表:
[a, b, c, d, e, f, g]
我想把它变成一个列表,如下所示:
[[a, d, g], [b, e], [c, f]]
到目前为止,我的解决方案如下所示:
unzipflatten(NumberOfLists, List) ->
lists:map(fun(Start) ->
lists:map(fun(N) ->
lists:nth(N, List)
end,
lists:seq(Start, length(List), NumberOfLists))
end,
lists:seq(1, NumberOfLists)).
我对 Erlang 很陌生,所以我想知道我是否错过了一些可以满足我要求的标准库函数,或者是否有更“Erlangish”的方式来做到这一点,或者我的上述解决方案的性能是否会臭。