Scala将地图列表转换为列表地图

时间:2017-09-04 15:25:33

标签: scala scala-collections

我有以下输入:

List(
 Map("A" -> 1, "B" -> 2, "C" -> 3),
 Map("A" -> 4, "B" -> 5, "C" -> 6),
 Map("A" -> 7, "B" -> 8, "C" -> 9)
)

我想转换成:

Map(
 "A" -> List(1,4,7),
 "B" -> List(2,5,8),
 "C" -> List(3,6,9)
)

我试过使用转置,但我没有到达任何地方。

1 个答案:

答案 0 :(得分:2)

您需要flatten,然后groupBy,然后mapValues才能保留列表

list.flatten.groupBy(_._1).mapValues(_.map(_._2))