我有一系列像下面这样的元组 . 文件“abc”和“xyz”中出现“x”和“y”的数量
Seq(("abc", Map("x" -> 1, "y" -> 2)), ("xyz", Map("x" -> 2, "y" -> 1)))
如何从上面的序列中创建如下所示的输出 .
Seq(("x", Map("abc" -> 1, "xyz" -> 2)), ("y", Map("abc" -> 2, "xyz" -> 1)))
这是一种可能性:
val s = Seq( ("abc", Map("x" -> 1, "y" -> 2)), ("xyz", Map("x" -> 2, "y" -> 1)) ) val t = (for { (x, yvs) <- s (y, v) <- yvs } yield (y, (x, v))) .groupBy(_._1) .mapValues(_.unzip._2.toMap) println(t)
这会产生(直到未分类键的随机重新排序):
Map( x -> Map(abc -> 1, xyz -> 2), y -> Map(abc -> 2, xyz -> 1) )
1 回答
这是一种可能性:
这会产生(直到未分类键的随机重新排序):