Is there a transpose function in Elixir?

elixir

Solution

There isn't one in Elixir currently, but you could create your own with:

def transpose([]), do: []
def transpose([[]|_]), do: []
def transpose(a) do
  [Enum.map(a, &hd/1) | transpose(Enum.map(a, &tl/1))]
end

Problem

Hi I look for a transpose function in Elixir. For example I have this kind of array `a` and after calling a function the result should be `b`: ``` a = [[1, 2], [3, 4], [5, 6]] b = transpose(a) b => [[1, 3, 5], [2, 4, 6]] ```

Original source