我是 Scala 的新手,需要一些关于如何组合过滤器和对元组列表求和的帮助。
我需要的是过滤后的元组列表的整数之和,它基本上是问题的答案:
所有设定权重的总和是多少?
以下示例列表的结果应为 20
该列表非常简单:
val ln = List( ("durationWeight" , true, 10),
("seasonWeight" , true, 10),
("regionWeight" , false, 5),
("otherWeight" , false, 5)
根据布尔标志过滤列表很简单:
val filtered = ln.filter { case(name, check, value) => check == true }
它返回了我想要的元组。获得所有它们的总和似乎可以使用地图,然后是总和:
val b = filtered.map{case((name, check, value) ) => value}.sum
这返回了我想要的所有设定权重的总和。
但是,我如何一步结合过滤器、映射和求和来完成所有这些工作,最好是在一个优雅的单列中?
谢谢你的帮助。