我有一个List[(List[(Char,Int)],String)]
这样的
val words = List((List(('a',1),('e',1),('t',1)),"ate"),
(List(('a',1),('e',1),('t',1)),"eat"),
(List(('a',1),('e',1),('t',1)),"tea"))
它表示每个单词中每个字符的出现次数。
现在我想按出现次数对这个列表进行分组,以生成一个包含这样一个项目的列表
val grouped = List((List(('a',1),('e',1),('t',1)),(List("ate","eat","tea"))))
我试过words groupBy(i => i._1)
了,但它的输出是
(List((a,1), (e,1), (t,1)),List((List((a,1), (e,1), (t,1)),ate), (List((a,1), (e,1), (t,1)),eat), (List((a,1), (e,1), (t,1)),tea)))
注意:我不想使用for expression
nor ,我喜欢使用像andfor loop
这样的高阶函数。map
flatMap
有人可以给我一个提示吗?