문서 목록이 있으며 모든 문서에 대해 (term -> termCount)
쌍을 찾고 싶습니다. 여기에 내가 그 일을하고 어떻게 :Scala foldLeft map 및 termCount 문서 수
object termCount extends App {
val docs = List(
List("A", "B", "C", "C"),
List("A", "D"),
List("B", "B", "C"))
val countsMap = docs.flatMap { ts =>
val m = ts.map((_, 1)).groupBy(_._1)
m.map { e => e._1 -> e._2.foldLeft(0)(_ + _._2) }
}.groupBy(_._1)
.map { e => e._1 -> e._2.foldLeft(0)(_ + _._2) }
println(countsMap)
}
출력 :
Map(D -> 1, A -> 2, C -> 3, B -> 3)
은 내가 무엇을하고 있는가하는 것은, 운영에 그것을 무너 뜨리는 : (term, 1)
생성 튜플
val m = ts.map((_, 1)).groupBy(_._1)
문서 로컬 termCount
e => e._1 -> e._2.foldLeft(0)(_ + _._2)
생성을 계산하는 모든 문서에 걸쳐 튜플
(term, termCount)
다시이지도를 병합 문서 현지(term -> termCount)
항목의
Map
- 임기도
는 다시 글로벌 얻기 위해 foldLeft
을하고
, 어떻게이 코드를 더 간결하게 만들 수 있습니까?