首页 > 解决方案 > 将事物列表转换为子列表列表

问题描述

我想编写一个函数,将事物列表转换为子列表列表,每个子列表都包含相同值的元素,当它们连接在一起时会给出相同的列表。

所以runs [1,2,2,1,3,3,3,2,2,1,1,4]变成[[1],[2,2],[1],[3,3,3],[2,2],[1,1],[4]]

如何在 Haskell 中解决这个问题?

标签: listfunctionhaskellstack

解决方案


这个函数已经存在,这是group :: Eq a => [a] -> [[a]]

Prelude> import Data.List(group)
Prelude Data.List> group [1,2,2,1,3,3,3,2,2,1,1,4]
[[1],[2,2],[1],[3,3,3],[2,2],[1,1],[4]]

推荐阅读