2015-02-05 3 views
1

목록 목록이 있다고 가정하십시오. 목록 = [[1,2,3], [4,5,6], [7,8,9 ]] 그리고 난 열의 합계를 계산 싶어요. 즉, 첫 번째 열은 [1,4,7]이고 그 합은 12 입니다. 두 번째 열은 [2,5,8]이고 합계는 15와 같습니다.표준 ML : 표준 ML에서 목록 목록에서 열을 액세스하는 방법

복잡성이 적은 효과적인 방법이 있습니까? 이렇게하려면 표준 ML에서 ??

fun transpose [] = [] 
    | transpose ([]::xss) = [] 
    | transpose xss = map hd xss :: transpose (map tl xss) 

val sum = foldl op+ 0 

val sumsOfColumns = map sum o transpose 

사용 예 : 예를 들어

답변

2

도와주세요

sumsOfColumns [[1,2,3],[4,5,6],[7,8,9]] (* => [12, 15, 18] *) 

)