标准ML:如何从标准ML中的列表列表访问列
假设我有一个列表 列表=[[1,2,3],[4,5,6],[7,8,9]] 我想计算列的和。 i、 e第一列为[1,4,7],其和为12 第二列是[2,5,8],总和是15,依此类推 在标准ML中是否有任何有效的方法(复杂度较低)可以做到这一点??请提供帮助,例如:标准ML:如何从标准ML中的列表列表访问列,ml,Ml,假设我有一个列表 列表=[[1,2,3],[4,5,6],[7,8,9]] 我想计算列的和。 i、 e第一列为[1,4,7],其和为12 第二列是[2,5,8],总和是15,依此类推 在标准ML中是否有任何有效的方法(复杂度较低)可以做到这一点??请提供帮助,例如: fun transpose [] = [] | transpose ([]::xss) = [] | transpose xss = map hd xss :: transpose (map tl xss) val sum
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] *)
)()