创建一个生成逆矩阵的函数

  • 本文关键字:函数 一个 创建 haskell
  • 更新时间 :
  • 英文 :


我是haskell的新用户,想要一些关于如何创建一个函数的想法,该函数可以将multilist列表的每个头部元素添加到新的multilist中,然后移动到第二列等。到目前为止,我只知道如何为第一列写一个函数:inverted (xss) = map head xss如何使它去,直到它与多列表的每一列?

我们可以直接编写这个函数,并且您已经有了完全正确的开始思路。先取正面,然后递归调用。

假设所有的列表长度相同,

inverted :: [[a]] -> [[a]]
inverted [] = [] -- Degenerate case
inverted xss
| null (head xss) = []
| otherwise = map head xss : inverted (map tail xss)

碰巧的是,这个函数已经在标准库中了:它被称为Data.List.transpose,它完全可以满足您的要求。

最新更新