list - 如何在 Scala 中制作简单的列表?

标签 list scala dictionary zip

我知道 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” 但这似乎比好的“方式”更冗长

有没有一种优雅的方式来制作像这个例子这样的列表?

或者我需要使用一些“如果”吗?

最佳答案

我想你想交错这两个列表,同时假设这两个列表的类型相同。如果是这样的话,这应该对你有用

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)

关于list - 如何在 Scala 中制作简单的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30679273/

相关文章:

c++ - 在排序列表上使用 upper_bound 时,查找次数为 O(N),但比较次数为 O(log(N))

python - 将列表的每个元素与另一个列表的相应元素进行比较的最快方法是什么?

scala - 从 GraphStage (Akka 2.4.2) 内部关闭 Akka 流

python - 为相同的字典值创建可交换元组键的最佳方法是什么?

python - 使用 any() 和 all() 检查列表是否包含一组值或另一个

list - Prolog - 返回矩阵的第 n 行

scala - 无形:在 HList 上反转 filterNot

scala - 带数组的 Spark 塞

python - 如何将多个字典中的数据合并到 DataFrame 中的一行中

php - 找到一个词的词根