如何使用julia中的条件填充循环中缺少的值?

如何使用julia中的条件填充循环中缺少的值?,julia,fill,Julia,Fill,我想检查循环中的项目数,如果项目不是预期的大小,则用0填充。例如,我创建了一个循环,尝试访问范围为10的数组元素 x = range(1, 100, length=45) |> collect n = trunc(Int, length(x)/10) + 1 s = 1 l = 10 for i in 1:n print(x[s:l]) s += 10 l +=10 end 在上面的代码中,上一次迭代没有打印任何结果,因为元素的数量只有5个,但它希望是10个。因此

我想检查循环中的项目数,如果项目不是预期的大小,则用0填充。例如,我创建了一个循环,尝试访问范围为10的数组元素

x = range(1, 100, length=45) |> collect
n = trunc(Int, length(x)/10) + 1
s = 1
l = 10
for i in 1:n
    print(x[s:l])
    s += 10
    l +=10
end
在上面的代码中,上一次迭代没有打印任何结果,因为元素的数量只有5个,但它希望是10个。因此,我想知道,我如何在这个循环中检查每次迭代的元素数量,如果它们不是预期的,那么用0填充它

请就实现预期运营提出建议和建议


谢谢

我认为
PaddedViews
正是您想要的:

julia> using PaddedViews

julia> PaddedView(0, x, (ceil(Int, length(x)/10)*10,))
50-element PaddedView(0.0, ::Vector{Float64}, (Base.OneTo(50),)) with eltype Float64:
   1.0
   3.25
   5.5
   7.75
  10.0
  12.25
  14.5
  16.75
   ⋮
  97.75
 100.0
   0.0
   0.0
   0.0
   0.0
   0.0

也许您应该分享您的目标,因为您的代码让我想起了迭代器.partition模式。即使除法不完美,也可以将迭代器拆分为大小为10的块:
Iterators.partition(x,10)|>collect
。这就是你最终想要的吗?看看标准迭代器库,那里可能有一些对您的用例有用的东西。@juliohm感谢您的回复!!实际上,我有将近10000多个元素的巨大数组。这个数组的一部分被馈送以执行数学运算,它被封装在一个循环中。因此,我最初的方法是使用for循环来执行这些操作。但是,如果数组分布不均匀,则循环返回维度不匹配的错误。