1
給定一個正方形數組,是否有方法使用應用樣式或類似方法將每個[[a]]
的第一個元素「緊縮」,然後是第二個元素,依此類推?加入子列表中的元素
> let xss = [[1,4,7], [2,5,8], [3,6,9]] :: [[Int]]
> map (\i -> map (!! i) xss) [0..length xss - 1]
[[1,2,3],[4,5,6],[7,8,9]]
我寫了一個編程挑戰網站上面的解決方案,但我不開心與map (!! i)
或[0..length xs - 1]
。有沒有更高級的方法來做到這一點?
您正在尋找['Data.List.transpose'](http://hackage.haskell.org/package/base-4.9.1.0/docs/Data-List.html#v:transpose)。 – Jubobs
啊,當然!謝謝! –
@Jubobs你爲什麼不回答這個問題?這樣它就會從未回答的問題清單中被清除,並且可以被接受? –