Pivoting a 2-dimensional list
In one of the exercism.io exercises, a grid is represented by a list of lists where each inner list represents a row.
The exercise then asks you to pivot the grid, that is, transform the list of lists so that each list represents a column.
From someone else's solution I learned that an easy way to conduct this transform is to use
grid = [[1,2,3, 4], [1,2,3, 4], [1, 2, 3, 4]] List.zip(grid) |> Enum.map(&Tuple.to_list/1) # [[1, 1, 1], [2, 2, 2], [3, 3, 3], [4, 4, 4]]
to_list method is needed because
List.zip returns an array of tuples.