scala - 如何将Scala列表成对?

标签 scala

我正在尝试将像List(1,2,3,4)这样的Scala列表拆分成对(1,2) (2,3) (3,4),执行此操作的简单方法是什么?

最佳答案

val xs = List(1,2,3,4)
xs zip xs.tail
  // res1: List[(Int, Int)] = List((1,2), (2,3), (3,4))


正如文档所说,zip


返回由该列表和另一个可迭代集合组成的列表
通过将相应的元素成对组合。如果两者之一
集合比其他集合长,其其余元素是
忽略了。


因此,用List('a,'b,'c,'d)压缩的List('x,'y,'z)List(('a,'x), ('b,'y), ('c,'z)),第一个的最后一个'd被忽略了。

在您的示例中,tailList(1,2,3,4)List(2,3,4),因此您可以看到它们如何成对压缩。

关于scala - 如何将Scala列表成对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11248739/

相关文章:

scala - 通过在 Scala 3 中解包类型将 case 类转换为另一个

scala - Akka的Actor和Scala的Actor模型有什么区别

scala - 如何在 SBT 中刷新更新的 Git 依赖项?

scala - 单例是Scala中的综合类吗?

java - 我应该如何维护从文件读取的值的缓存?

scala - 使用 Mockito 对 LazyLogging 进行单元测试

scala - 在 Scala 中与外部进程交互 (i/o)

scala - "scala.runtime in compiler mirror not found"但在使用 -Xbootclasspath/p :scala-library. jar 启动时工作

scala - 如何将值元组与函数元组结合起来?

ruby-on-rails - Scala + Lift 或 Ruby on Rails,适合初学者