list - 将事物列表转换为子列表列表
问题描述
我想编写一个函数,将事物列表转换为子列表列表,每个子列表都包含相同值的元素,当它们连接在一起时会给出相同的列表。
所以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 中解决这个问题?
解决方案
这个函数已经存在,这是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]]
推荐阅读
- sql - 对多行的 JSON 属性求和
- google-sheets - 如何将一个单元格的文本插入另一个单元格?
- c++ - OpenCV 中的 cv::imread() 没有读取我的 .png
- python - 交叉验证和分数
- node.js - 在 NodeJS Glob 中排除具有特定前缀的子目录
- html - 带有祖父母的敲除/剪切文本效果
- php - 不能让它在我的代码上工作我不知道为什么,我收到以下错误:下面
- docusignapi - DocuSign API - 响应式签名
- node.js - React 应用程序可以同时与 Flask 通信并表达后端吗?
- timer - 在 P5js 中使用计时器固定距离画笔