2017-09-04 72 views
0

的,我有以下输入:斯卡拉变换地图的列表为地图列表

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

可能的复制[斯卡拉:使用关键字合并地图(https://stackoverflow.com/questions/7755214/scala-合并地图的关键)(和其他几个问题) –

回答

2

您需要flatten,然后groupBy然后mapValues保留这个列表的

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