是否有简洁的方法在Scala中执行以下映射?
val listOfTuples: List[Tuple2[Foo, Bar]] = ???
val (foos, bars) = listOfTuples // foo:List[Foo], bar:List[Bar]
Run Code Online (Sandbox Code Playgroud)
我看到别人 map的List[Tuple[X, X]]到List[List[X]],然后transpose在列表中,虽然这只是从同质类型参数组成的元组的工作.
你应该使用这样的方法unzip:
val (foos, bars) = listOfTuples.unzip
Run Code Online (Sandbox Code Playgroud)
还有一种unzip3收集方法Tuple3.