【发布时间】:2015-09-03 12:41:23
【问题描述】:
您将如何在 Scala 中展平此列表:List(List(1, 2, 3), Nil, List(4, 5, 6), List(7, 8)),以便它执行循环,而不仅仅是像 flatMap 那样附加所有元素?期望的结果是:List(1, 4, 7, 2, 5, 8, 3, 6)
与this question 不同,我的列表是单一类型List[List[Int]],但看起来我也可以使用递归函数调用。
【问题讨论】:
-
如果它是一个矩阵,这将非常容易,也就是所有嵌套列表的长度都相同...
l.transpose.flatten -
@dcastro:
transpose做了什么,取最小宽度和高度? -
@Bergi 它旋转一个矩阵。所以,
List(List(1,2,3), List(4,5,6))变成了List(List(1,4), List(2,5), List(3, 6)) -
@Bergi 抛出异常。这就是为什么我们不能在这里使用转置。
标签: scala