gpt4 book ai didi

scala - 将 Scala 列表拆分为 n 个交错列表

转载 作者:行者123 更新时间:2023-12-04 16:48:18 25 4
gpt4 key购买 nike

给定一个 List

List(1, 2, 3, 4, 5, 6, 7)

将其拆分为 n 个子列表,以循环方式将项目放入每个列表的最佳方法是什么?

例如如果 n = 3,结果应该是
List(List(1, 4, 7), List(2, 5), List(3, 6))

我以为集合 API 中会有一种方法可以做到这一点,但我似乎找不到它。

经典单线的奖励积分;)

最佳答案

scala> def round[T](l: List[T], n: Int) = (0 until n).map{ i => l.drop(i).sliding(1, n).flatten.toList }.toList
round: [T](l: List[T], n: Int)List[List[T]]

scala> round((1 to 7).toList, 3)
res4: List[List[Int]] = List(List(1, 4, 7), List(2, 5), List(3, 6))

关于scala - 将 Scala 列表拆分为 n 个交错列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11132788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com