斯卡拉我如何计算列表中发生的次数
val list = List(1,2,4,2,4,7,3,2,4)
我想要像这样实现它: list.count(2)
(返回3)。
其他答案之一的更清晰的版本是:
val s = Seq("apple", "oranges", "apple", "banana", "apple", "oranges", "oranges")
s.groupBy(identity).mapValues(_.size)
给原始序列中的每个项目计数一个Map
:
Map(banana -> 1, oranges -> 3, apple -> 3)
该问题询问如何查找特定项目的计数。 采用这种方法,解决方案需要将期望的元素映射到其计数值,如下所示:
s.groupBy(identity).mapValues(_.size)("apple")
斯卡拉集合确实有count
: list.count(_ == 2)
我遇到了与Sharath Prabhal相同的问题,并且我得到了另一个(对我来说更清晰)的解决方案:
val s = Seq("apple", "oranges", "apple", "banana", "apple", "oranges", "oranges")
s.groupBy(l => l).map(t => (t._1, t._2.length))
结果如下:
Map(banana -> 1, oranges -> 3, apple -> 3)
链接地址: http://www.djcxy.com/p/86187.html
上一篇: Scala how can I count the number of occurrences in a list