我知道zip可以将两个列表组合成一个列表,
scala> List(1, 2, 3).zip(List("4", "5", "6"))
res0: List[(Int, Int)] = List((1,4), (2,5), (3,6))
然而,' res0'不是我想要的。
我想要这个,
res0: List[Int] = List(1,4,2,5,3,6)
也许我应该使用一些' indexOF'或者' zipWithIndex' 但它看起来像一个更好的而不是好的方式'
是否有一种优雅的方式来制作像这个例子的列表?
还是我需要使用一些' IF' ?
答案 0 :(得分:6)
我认为你想要交错两个列表,也假设两个列表都是相同的类型。如果是这样的话,这应该对你有用
List(1,2,3) zip List(4,5,6) flatMap {case (x,y) => List(x,y)}
输出将是
res0: List[Int] = List(1, 4, 2, 5, 3, 6)