How can I transpose a list like [[1,2,3][4,5,6][6,7,8]]
to [[1,4,6],[2,7,8],[3,6,9]]
?
To depict it: I\'d like to flip the matrix 90 degree
Another approach:
delete_one_list([], []).
delete_one_list([[_|L]|LLs], [L|Ls]) :-
delete_one_list(LLs, Ls).
transpose_helper([], []).
transpose_helper([[X|_]|Xs], [X|Ys]) :-
transpose_helper(Xs, Ys).
transpose([[]|_], []).
transpose(List, [L|Ls]) :-
transpose_helper(List, L),
delete_one_list(List, NewList),
transpose(NewList, Ls).