【发布时间】:2019-11-09 11:18:09
【问题描述】:
我得到了这个列表列表:
[[1, 2, 3], [4, 5], [6]] = listOf(listOf(1,2,3), listOf(4,5), listOf(6))
如果我使用flatten 方法,结果将是:
[1, 2, 3, 4, 5, 6] = listOf(1,2,3,4,5,6)
我想要的输出将是一种循环扁平化,将每个列表的前 N 个元素进行扁平化......
所以如果 N=1:
[1, 4, 6, 2, 5, 3]
如果 N=2:
[1, 2, 4, 5, 6, 3]
如果 N=3:
[1, 2, 3, 4, 5, 6]
我想这可以通过使用一些可变列表来实现,但它会非常难看而且根本没有功能。
【问题讨论】:
-
我认为 zip() 操作是你需要的,但你需要手动将它与 flatten 结合起来
-
zip还不够。如果所有列表的大小相同,它适用于 N=1 和。但在我们的例子中,它会返回[1, 4, 6]...