2013-11-25 13 views
2

Я новичок в Scala и немного смущен.Scala Списки списков целых чисел

Учитывая список списков 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 s вместо исключений для исключения. В дополнение вы можете использовать flatMap вместо map{...}.flatten

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

// res1: List[Int] = List(2, 2) 
Смежные вопросы