Ho il seguente codice:Regole sull'utilizzo un'istruzione case per distruggere una tupla a Scala
val xs = List(('a', 1), ('a', 2), ('b', 3), ('b', 4))
voglio trasformare questo in una mappa. per esempio. Map('a' -> Seq(1,2), 'b' -> Seq(3,4))
. Così procedo a scrivere la trasformazione:
xs.groupBy(_._1) map {
case (k, v) => (k, v.map(_._2))
}
Perché la coppia dopo la cartina bisogno di essere un {
. Quando ho iniziato, ritenevo di poter fare quanto segue:
xs.groupBy(_._1).map(case (k, v) => (k, v.map(_._2)))
Ma questo non viene compilato.
A proposito, è possibile utilizzare 'mapValues'. – incrop
Hai un esempio? – andyczerwonka
@andyczerwonka l'ultima riga sarà 'xs.groupBy (_._ 1) .mapValues (v => v.map (_._ 2))' –