作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何转换:
List(1,1,1,1,4,2,2,2,2)
进入:
List(List(1,1,1,1), List(2,2,2,2))
我认为这是显示我正在寻找的内容的最简单方法。我很难找到最实用的方法来处理需要在特定元素处分开的大型列表。该元素不会出现在新的列表列表中。任何帮助将不胜感激!
最佳答案
如果你想支持该分隔符的多个实例,你可以使用 foldRight
和一些列表“gymnastics”:
// more complex example: separator (4) appears multiple times
val l = List(1,1,1,1,4,2,2,2,2,4,5,6,4)
val separator = 4
val result = l.foldRight(List[List[Int]]()) {
case (`separator`, res) => List(Nil) ++ res
case (v, head :: tail) => List(v :: head) ++ tail
case (v, Nil) => List(List(v))
}
// result: List(List(1, 1, 1, 1), List(2, 2, 2, 2), List(5, 6))
关于scala - 将列表拆分为列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51090950/
我是一名优秀的程序员,十分优秀!