2013-11-25 68 views
2

我是新来的斯卡拉,有点困惑。斯卡拉整数列表清单

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

回答

9

简单:

val ints = List(List(1,2), List(3,4)) 
val result = ints.map(l => l(1)) 

这将产生(2,4)

6

尽管其他答案都有效,但下面是另一个既安全又不复杂的版本。您可以将lift a 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)