假设我有一个列表清单 list = [[1,2,3],[4,5,6],[7,8,9]] 我想计算列的总和。 即第一列是[1,4,7],其总和是12 第二列是[2,5,8],总和是15,依此类推
标准ML中有没有有效的方法(复杂性较低)来做到这一点?请帮忙
答案 0 :(得分:2)
例如:
fun transpose [] = []
| transpose ([]::xss) = []
| transpose xss = map hd xss :: transpose (map tl xss)
val sum = foldl op+ 0
val sumsOfColumns = map sum o transpose
使用示例:
sumsOfColumns [[1,2,3],[4,5,6],[7,8,9]] (* => [12, 15, 18] *)
)