如何使用 julia 中的条件填充循环中的缺失值?
How to fill missing values in a loop using conditions in julia?
我想检查循环中的项目数量,然后如果项目的大小不符合预期,则用 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
我想检查循环中的项目数量,然后如果项目的大小不符合预期,则用 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