string - Scala:如何计算某个索引中唯一项的出现次数?

标签 string list scala loops

我有一个列表,格式如下:

List(List(21, Georgetown, Male),List(29, Medford, Male),List(18, Manchester, Male),List(27, Georgetown, Female))

我需要计算每个唯一城镇名称的出现次数,然后返回城镇名称及其被计算的次数。但我只想返回出现次数最多的一个城镇。所以如果我将这个函数应用到上面的列表中,我会得到

(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/

相关文章:

java - 禁用 Java 列表中的可变性

python - 尝试在 Python 中添加到字典时出现 ValueError

xml - 阻止 Scala 解析 XML

scala - SBT编译与compileIncremental之间的区别

android - 字符串变量在 setOnClickListener() 函数之外变为空

jquery - 使用Jquery从2个字符串中提取字符串

c - sscanf 循环仅多次读取第一个输入

Javascript-尝试清空预标记会导致多个字符串

Python 3.6 - 遍历字典然后生成元组以返回总和值

scala - 使用 Shapeless : How to use the SYB implementation correctly? 在 Scala 中进行结构化编程