Scala: 将一对对的列表转换为一对列表

12

我有一组成对的列表:

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

我希望将它转换成一对列表:

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

基本上,我想要 zip() 的相反操作。

有没有一种优雅的方法来实现这个操作?


4
但主要是因为Kim Stebel喜欢给人们投反对票。 - Luigi Plinge
1
@LuigiPlinge:我不会给人们投反对票,我只会给问题和答案投反对票。发布它们的人不应该把这视为个人攻击。不幸的是,现在还没有办法给评论投反对票。;) 另外,我只是三个投反对票人之一。 - Kim Stebel
1个回答

18

相对于"压缩"来说,可能是什么呢?也许是解压

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
嗯,我不知道怎么会错过那个 :) - Electric Monk
1
你可能错过了这个,因为zip的文档中没有包含一个链接到解压缩的反向操作。我会看看能做些什么来改进这个问题。 - iainmcgin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接