从列表中获取其索引的一系列元素

时间:2014-03-17 13:37:21

标签: scala

我有一个ziped with index列表,我正在迭代它。在每次迭代中,我想返回此列表的一个范围,因此第一个元素是当前元素,最后一个元素是远离当前元素的k个索引元素。

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

最简单的方法是什么?

1 个答案:

答案 0 :(得分:2)

似乎sliding应该适合你:

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))