列表列表在haskell转90度

时间:2013-10-27 23:52:27

标签: haskell

说我有一个类型列表的列表:我可以旋转它(在某种意义上),以便:

[[a,b],    [[b,d],
 [c,d]] =>  [a,c]]

任何尺码表?或者,对于任意大小的列表,如果不可能仅用于大小为6x6的列表

2 个答案:

答案 0 :(得分:9)

以下内容应该为您提供所需的输出:

import Data.List (transpose)

rotate :: [[a]] -> [[a]]
rotate = reverse . transpose

测试:

*Main> rotate [[1,2],[3,4]]
[[2,4],[1,3]]
*Main> rotate [[1,2,3],[4,5,6],[7,8,9]]
[[3,6,9],[2,5,8],[1,4,7]]

答案 1 :(得分:4)

Just Hoogle it!

[[a]] -> [[a]]