2017-05-15 85 views
0

如何將所提到的3元組列表分割成List列出具有相同初始字符串的元素分組在一起。Scala - 如何將3個元組列表[(String,String,Int)]分組到List [List [(String,String,Int)]]

防爆 - :

scala> List((abc,b,1),(b,c,2),(abc,m,3),(b,d,3),(c,c,3)) => 
List(List((abc,b,1),(abc,m,3)),List((b,c,2),(b,d,3)),List(c,c,3)) 

我怎樣才能很好地在Scala中實現這一點?

問候

+1

可能要添加有關您什麼一些意見嘗試過,它怎麼沒有工作。 –

+1

嘗試使用'groupBy'。 –

+0

我對scala比較陌生,從我的理解中我需要一些groupby或分區函數。但是,我在確切的語法上遇到問題 – user133442

回答

2

使用groupBy這將讓你地圖String -> List,然後調用values在地圖上得到公正的清單:

list.groupBy(_._1).values.toList 
+0

易於理解和直觀。非常感謝 – user133442

+0

@ user133442請注意,您可能實際上不需要'toList',具體取決於您想要對它做什麼。 –

相關問題