我有下面的子列表
[[1;5;10];
[2;6;11];
[3;7;12]];我正在尝试创建下面的子列表:
[[1;2;3];
[5;6;7];
[10;11;12]]结果的第一个子列表应该包含每个原始子列表的第一个元素,第二个结果子列表应该包含每个原始子列表的第二个元素,依此类推。
每个子列表包含与其他子列表相同数量的元素。子列表的数量至少为2。
我正在考虑使用List.map,但我不确定要对每个子列表应用什么函数来提取所需的元素。
这就是我到目前为止所知道的:
let rec compute list =
List.map (fun x -> ) list如有任何建议,欢迎光临!
发布于 2018-11-19 21:07:29
这里你需要两个递归(因为在命令式语言中你需要两个重叠的循环)。第一个递归应该允许您遍历输入行,例如从1到3,在此递归的每一步,您将需要第二个递归,以沿着整行进行。
您可以手动完成所有操作,也可以使用List.fold_left。(对于内部递归,我将使用fold。
https://stackoverflow.com/questions/53367594
复制相似问题