对于您的特殊情况,您可以使用它
map.map { case (k, v) => k -> v.map(_._2).sum }
但通常下面的代码适用于所有内容,即使键不同
对元组中的第一项进行分组,然后折叠作为分组后结果映射值的列表
val list = Map("Mary")
list.groupBy(_._1).map { case (k, v) => v(0)._1 -> v.map(_._2).sum}
Scala REPL
scala> val list = map("Mary")
list: List[(String, Int)] = List(("Mary", 7065), ("Mary", 2604), ("Mary", 1414))
scala> list.groupBy(_._1).map { case (k, v) => v(0)._1 -> v.map(_._2).sum}
res11: Map[String, Int] = Map("Mary" -> 11083)
scala> val map = Map("Mary" -> List(("Mary", 7065), ("Mary", 2604), ("Mary", 1414)))
map: Map[String, List[(String, Int)]] = Map("Mary" -> List(("Mary", 7065), ("Mary", 2604), ("Mary", 1414)))
scala> val list = map("Mary")
list: List[(String, Int)] = List(("Mary", 7065), ("Mary", 2604), ("Mary", 1414))
scala> list.groupBy(_._1).map { case (k, v) => v(0)._1 -> v.map(_._2).sum}
res14: Map[String, Int] = Map("Mary" -> 11083)