如何在scala中对列表中的列求和
how to make sum of a column in a list in scala
我是 scala 的新手,正在努力学习,尤其是集合。我找不到按第一列分组对第二列求和的方法。我的数据如下:
val a2 = List(("Comedy",2.0),
("Comedy",2.5),
("Adv",3.0),
("Adv",2.5)
我的目标是使用 group by 1st 和 2nd one:
Comedy, 4.5
Adv, 5.5
我做了分组,但是 .sum(i => i._2) 没有用。你知道怎么做吗?
你可以在求和之前使用groupBy:
List(
("Comedy", 2.0),
("Comedy", 2.5),
("Adv", 3.0),
("Adv", 2.5)
)
.groupBy(_._1)
.map(group => (group._1, group._2.map(_._2).sum))
.foreach(println)
我是 scala 的新手,正在努力学习,尤其是集合。我找不到按第一列分组对第二列求和的方法。我的数据如下:
val a2 = List(("Comedy",2.0),
("Comedy",2.5),
("Adv",3.0),
("Adv",2.5)
我的目标是使用 group by 1st 和 2nd one:
Comedy, 4.5
Adv, 5.5
我做了分组,但是 .sum(i => i._2) 没有用。你知道怎么做吗?
你可以在求和之前使用groupBy:
List(
("Comedy", 2.0),
("Comedy", 2.5),
("Adv", 3.0),
("Adv", 2.5)
)
.groupBy(_._1)
.map(group => (group._1, group._2.map(_._2).sum))
.foreach(println)