Написал тут давеча такую строчку.
val dam = (for ( (m, da) <- mda; (d, oa) <- da; a <- oa) yield ((d,a), m)).groupBy(_._1).map( x => (x._1, x._2 map (_._2)))
Это преобразование:
List[(M, List[(D, Option[A])]) -> Map[(D, A), List[M]]
Если отбросить Option, то надо было просто в списке пар сгрупировать по второму элементу, который тоже пара, и
(
Read more... )