如何投影/转换以下内容
List(("A", 1.0), ("A", 3.0), ("B", 2.0), ("B", 2.0))
到
List(("A", 4.0),("B", 4.0))
所以我按字符串聚合并将双打相加?
答案 0 :(得分:3)
val x = List(("A", 1.0), ("A", 3.0), ("B", 2.0), ("B", 2.0))
val y = x.groupBy(_._1).map { case (a,bs) => a -> bs.map(_._2).sum }
y.toList // List((A,4.0), (B,4.0))