J'ai une liste d'articles que je voudrais "un-zip-aplatir". Fondamentalement, ce que cela signifie est que si j'ai une liste d'éléments:Erlang un-zip-flatten
[a, b, c, d, e, f, g]
Je veux en faire une liste de listes comme les suivantes:
[[a, d, g], [b, e], [c, f]]
Jusqu'à présent, ma solution ressemble à ceci:
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)).
Je suis assez nouveau pour Erlang Je suis tellement me demandant si je l'ai raté une fonction de bibliothèque standard qui ferait ce que je veux, ou s'il y a une façon plus « Erlangish » de le faire, ou si la performance de mon ci-dessus la solution pue.