Combinando uma coluna de listas no OCaml
Quero essencialmente transpor uma matriz no OCaml (sem usar recursão ou qualquer tipo de loop)
Por exemplo, se eu tiver a seguinte matriz:[[1;2];[3;4]]
,
Eu quero ter a saída de[[1;3];[2;4]]
.
O que fiz até agora é dividir a matriz original em colunas individuais:
//function that separates into cols
let separate li =
List.map (fun x -> [x]) li;;
Eu chamo essa função auxiliar de outra função:
let trans x =
List.concat (List.map separate li) x;;
Eu estava pensando que isso combinaria todas as colunas da maneira que eu queria, mas terminou com a seguinte saída:[[1];[2];[3];[4]]
.