Julia 中是否有任何函数可以实现这一点?
f(x, n) = vcat(repeat(x, div(n, length(x))), x[1:rem(n, length(x))])
f([1,3,2], 10)
10-element Vector{Int64}:
1
3
2
1
3
2
1
3
2
1
我想知道是否存在一个已知的函数可以做同样的事情。
Julia 中是否有任何函数可以实现这一点?
f(x, n) = vcat(repeat(x, div(n, length(x))), x[1:rem(n, length(x))])
f([1,3,2], 10)
10-element Vector{Int64}:
1
3
2
1
3
2
1
3
2
1
我想知道是否存在一个已知的函数可以做同样的事情。
用例比较小众,所以没有专门的功能(那叫什么?)
但你可以组合一些简单的调用,像这样:
这也比其他替代方案更快。
事实上,还有一种更轻量级的选择。如果你
那么这几乎不花费任何时间,因为它完全是懒惰的,并且只有当您
collect
对其进行迭代时才会真正起作用。所以这取决于您的需要。您需要一个完全收集的向量,还是只需要迭代某个东西?