将List [Tuple2 [A,B]]转换为Tuple2 [Seq [A],Seq [B]]

vir*_*yes 2 scala tuples transform list seq

陷入这里,尝试将一个case类元组的List转换为一个序列元组,并多次分配结果.

val items = repo.foo.list // gives me a List[(A,B)]
Run Code Online (Sandbox Code Playgroud)

我可以像这样完成多项任务:

val(a,b) = (items.map(_._1).toSeq, items.map(_._2).toSeq)
Run Code Online (Sandbox Code Playgroud)

但是,按照以下方式做一步就更好了:

val(a,b) = repo.foo.list.map{case(a,b) => (a,b)}
Run Code Online (Sandbox Code Playgroud)

Edu*_*rdo 6

我不确定我是否正确理解了这个问题.也许unzip适合你想要的东西?

以下是一些示例的链接:http://daily-scala.blogspot.de/2010/03/unzip.html

  • 除了简单的继承之外,没有静默转换,因为List扩展了Seq(间接通过LinearSeq). (2认同)