Ну, на картах нет порядка, так что часть третьего вопроса в вашем вопросе не имеет смысла. Если вы имеете в виду что-то вроде «вернуть список значений, имеющих ключ карты 3»), то вы можете сделать это
val l = List(Map(1 -> "test1", 2 -> "test2", 3 -> "test3"), Map(1 -> "test4", 2 -> "test5", 3 -> "test6"))
val thirdArgs= for(map<-l; value <-map.get(3)) yield value
// or equivalently val thirdArgs= l.flatMap(_.get(3))
println(thirdArgs)// prints List(test3, test6)
Это зависит от того факта, что map.get (3) возвращает Option [String], а синтаксис для понимания в Scala работает с Option.
Если вы на самом деле имели в виду «третий столбец», то структура данных, которую вы хотите, - это не карта, а кортеж.
val l = List(("test1","test2","test3"), ("test4","test5", "test6"))
val thirdArgs= for(tuple<-l) yield tuple._3
// or equivalently val thirdArgs= l.map(_._3)
println(thirdArgs)// prints List(test3, test6)