Kombinieren einer Listenspalte in OCaml
Ich möchte im Wesentlichen eine Matrix in OCaml transponieren (ohne Rekursion oder irgendeine Art von Schleife)
Zum Beispiel, wenn ich die folgende Matrix habe:[[1;2];[3;4]]
,
Ich möchte die Ausgabe von @ hab[[1;3];[2;4]]
.
Was ich bisher getan habe, ist die ursprüngliche Matrix in einzelne Spalten aufzuteilen:
//function that separates into cols
let separate li =
List.map (fun x -> [x]) li;;
Ich rufe diese Hilfsfunktion von einer anderen Funktion auf:
let trans x =
List.concat (List.map separate li) x;;
Ich dachte, dies würde alle Spalten so kombinieren, wie ich es möchte, endete jedoch mit der folgenden Ausgabe:[[1];[2];[3];[4]]
.