2012-10-29 14 views
10

Mam listę par:Scala: Lista pary do pary list

val pairs = List("a" -> 1, "b" -> 2, "c" -> 3) 

chciałbym, aby przekształcić go do pary list:

List("a", "b", "c") -> List(1, 2, 3) 

Zasadniczo chcę przeciwieństwo zip()

Dowolny elegancki sposób robienia tego?

+4

... ale głównie, ponieważ Kim Stebel kocha downvoting ludziom –

+1

@LuigiPlinge: Nie downvote ludzi, ja downvote pytań i odpowiedzi. Ludzie, którzy je publikują, powinni przestać brać to osobiście. Niestety nadal nie ma sposobu na odrzucenie komentarzy. ;) Poza tym jestem tylko jedną z 3 osób, które potępiły. –

Odpowiedz

16

Przeciwieństwo zamka? Co to może być? unzip może?

scala> List("a" -> 1, "b" -> 2, "c" -> 3).unzip 
res0: (List[java.lang.String], List[Int]) = (List(a, b, c),List(1, 2, 3)) 
+1

Hmmm. Nie widzę, jak to przegapiłem :) –

+1

Prawdopodobnie przegapiłeś go, ponieważ dokumentacja zip nie zawiera linku do rozpakowania jako odwrotność. Zobaczę, co mogę z tym zrobić. – iainmcgin