【发布时间】:2012-03-26 18:54:47
【问题描述】:
我正在尝试将zip多个序列组成一个长元组:
val ints = List(1,2,3)
val chars = List('a', 'b', 'c')
val strings = List("Alpha", "Beta", "Gamma")
val bools = List(true, false, false)
ints zip chars zip strings zip bools
我得到了什么:
List[(((Int, Char), String), Boolean)] =
List((((1,a),Alpha),true), (((2,b),Beta),false), (((3,c),Gamma),false))
但是我想得到一系列 flat 元组:
List[(Int, Char, String, Boolean)] =
List((1,a,Alpha,true), (2,b,Beta,false), (3,c,Gamma,false))
我现在可以做到:
List(ints, chars, strings, bools).transpose
但它返回弱类型List[List[Any]]。我也可以(ints, chars, strings).zipped,但zipped 仅适用于 2 元组和 3 元组。
有没有办法轻松压缩(任意)数量的等长序列?
【问题讨论】: