如何在scala中访问Sequence中的第二个元素

时间:2015-11-28 03:16:19

标签: scala

val k = Seq((0,1),(1,2),(2,3),(3,4))
k: Seq[(Int, Int)] = List((0,1), (1,2), (2,3), (3,4))

如果我有以上陈述,我需要为奇数位置的偶数位置和减法添加,我该如何访问它们?要清楚

  • (0,1)必须变为(0,(1 + 2))
  • (1,2)必须成为(1,(1-2))
  • (2,3)必须变为(2,(3 + 4))
  • (3,4)必须成为(3,(3-4)

1 个答案:

答案 0 :(得分:3)

你的意思是这样吗?

val transformed = k.grouped(2).flatMap{
  case Seq((i, x), (j, y)) => Seq((i, x + y), (j, x - y))
}

transformed.toList
// List[(Int, Int)] = List((0,3), (1,-1), (2,7), (3,-1))