Scala 从列表中按索引获取一系列元素

Scala 从列表中按索引获取一系列元素,scala,Scala,我有一个带索引的ziped列表,我正在对它进行迭代。在每次迭代中,我希望返回这个列表的一个范围,因此第一个元素是当前元素,最后一个元素是距离当前元素更远的k个索引的元素 val k = 5 source.zipWithIndex map { case (x, i) => val items = // take the elements from "x" to source(i + k) } 做这件事最简单的方法是什么?似乎滑动应该适合你: val source = Lis

我有一个带索引的ziped列表,我正在对它进行迭代。在每次迭代中,我希望返回这个列表的一个范围,因此第一个元素是当前元素,最后一个元素是距离当前元素更远的k个索引的元素

 val k = 5
 source.zipWithIndex map { case (x, i) =>
    val items = // take the elements from "x" to source(i + k)
  }

做这件事最简单的方法是什么?

似乎
滑动应该适合你:

val source = List("1", "2", "3", "4", "5", "6", "7")
source.sliding(5).toList
输出:

List(List(1, 2, 3, 4, 5), List(2, 3, 4, 5, 6), List(3, 4, 5, 6, 7))

不需要拉拉链。。。使用源代码。滑动(5)