私は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"))
これは、各単語の各文字の出現を表します。
ここで、このリストをオカレンスごとにグループ化して、このような1つのアイテムを含むリストを作成します。
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
:どちらも使用したくないので、 andfor loop
のような高階関数を使用するのが好きです。map
flatMap
誰かが私にヒントを与えることができますか?