scala - 删除scala中连续的相同元素

标签 scala

我有一个列表,其中可能包含某些连续的相同元素。我想用一个替换许多连续的相同元素。如何在 Scala 中做到这一点

可以说我的 list 是

List(5, 7, 2, 3, 3, 3, 5, 5, 3, 3, 2, 2, 2)

我希望输出列表为
List(5, 7, 2, 3, 5, 3, 2)

最佳答案

使用 sliding 可以非常干净地完成。 :

myList.head :: myList.sliding(2).collect { case Seq(a,b) if a != b => b }.toList

它查看所有对,以及每个不匹配的对 (a,b) ,它给你回 b .但后来又要贴原版a在列表的前面。

关于scala - 删除scala中连续的相同元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29339099/

相关文章:

scala - SBT src_management 不可用于编译

scala - 绘制 sbt 的增量编译逻辑

scala - Scala中:::(三元冒号)的用途是什么

scala - 数据流模板功能的不一致行为?

scala - 是否使用了 DummyImplicits,如果使用,如何使用?

scala - 需要以下 scala 片段的简单英文翻译

scala - Scala 中是否有维护的不可变优先级队列?

java - Dbpedia 提取框架 - 如何去除 mediawiki 格式标记

Scala Slick : MappedColumnType cannot find implicit value for BaseColumlnType[String]

scala - 描述 Slick 中的可选字段