如何将List(List [String])转换为Map [String,Int]?

use*_*091 1 scala list map

我有一个List(List("aba, 4"), List("baa, 2")),我想将其转换为地图:

val map : Map[String, Int] = Map("aba" -> 4, "baa" -> 2)
Run Code Online (Sandbox Code Playgroud)

存档的最佳方法是什么?

更新:

我做一个数据库查询来检索数据:val(_,myData)= DB.runQuery(...)

这会返回一对,但我只对第二部分感兴趣,它给了我:

myData: List[List[String]] = List(List(Hello, 19), List(World, 14), List(Foo, 13), List(Bar, 13), List(Bar, 12), List(Baz, 12), List(Baz, 11), ...)
Run Code Online (Sandbox Code Playgroud)

huy*_*hjl 8

scala> val pat = """\((.*),\s*(.*)\)""".r
pat: scala.util.matching.Regex = \((.*),\s*(.*)\)

scala> list.flatten.map{case pat(k, v) => k -> v.toInt }.toMap
res1: scala.collection.immutable.Map[String,Int] = Map(aba -> 4, baa -> 2)
Run Code Online (Sandbox Code Playgroud)