如何删除(列表的)嵌套列表?

Don*_*ris 1 haskell nested list

我想从列表列表中删除嵌套列表。我对Haskell还是很陌生,发现这很困难。

例如

[[a],[b],[c]] --> [a,b,c] 
Run Code Online (Sandbox Code Playgroud)

Wil*_*sem 5

您可能正在寻找该concat :: Foldable f => f [a] -> [a]功能。这可以采用s 的Foldable类型[a],并[a]作为结果返回。由于列表是一种Foldable类型,因此这意味着concat可以“ 专用于[[a]] -> [a]。因此它将把子列表连接在一起成为一个列表。

例如:

Prelude> concat [[1],[2],[3]]
[1,2,3]
Run Code Online (Sandbox Code Playgroud)

其他这可以工作Foldable类型,以及像MaybeTree等等。