Scala列出整数列表

tas*_*tas 2 scala list

我是Scala的新手,我有点困惑.

给定列表列表List[List[Int]],如何调用每个列表的元素的特定索引,例如每个列表的第二个元素?

Mau*_*res 9

简单:

val ints = List( List(1,2), List(3,4) )
val result = ints.map( l => l(1) )
Run Code Online (Sandbox Code Playgroud)

这将产生(2,4).


dre*_*xin 6

虽然其他两个答案都有效,但这是另一个既安全又不复杂的版本.您可以lift使用Seqa Function[Int, Option[A]]来进行apply返回Option而不是抛出异常.另外,您可以使用flatMap而不是map{...}.flatten

List(List(1), List(1,2), List(1,2,3)).flatMap { xs =>
  xs.lift(1)
}

// res1: List[Int] = List(2, 2)
Run Code Online (Sandbox Code Playgroud)