我有一个列表,格式如下:
List(List(21, Georgetown, Male),List(29, Medford, Male),List(18, Manchester, Male),List(27, Georgetown, Female))
我需要计算每个唯一城镇名称的出现次数,然后返回城镇名称及其被计算的次数。但我只想返回出现次数最多的一个城镇。所以如果我将这个函数应用到上面的列表中,我会得到 p>
(Georgetown, 2)
我来自 Java,所以我知道如何以更长的方式完成此过程,但我想利用 Scala 的一些内置方法。
最佳答案
scala> val towns = List(
| List(21, "Georgetown", "Male"),
| List(29, "Medford", "Male"),
| List(18, "Manchester", "Male"),
| List(27, "Georgetown", "Female"))
towns: List[List[Any]] = ...
scala> towns.map({ case List(a, b, c) => (b, c) }).groupBy(_._1).mapValues(_.length).maxBy(_._2)
res0: (Any, Int) = (Georgetown,2)
关于string - Scala:如何计算某个索引中唯一项的出现次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35258627/