我是Scala的新手并且有点困惑。
给定列表List[List[Int]]
,如何调用每个列表元素的特定索引,例如每个列表的第二个元素?
答案 0 :(得分:9)
简单:
val ints = List( List(1,2), List(3,4) )
val result = ints.map( l => l(1) )
这将产生(2,4)
。
答案 1 :(得分:6)
虽然其他两个答案都有效,但这是另一个既安全又不复杂的版本。您可以lift
Seq
到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)