Bil*_*uly 3 loops for-loop decrement julia
我知道python我可以做以下事情。
for i in range(10, 0, -1):
print(i)
Run Code Online (Sandbox Code Playgroud)
这将输出:
10
9
8
7
6
5
4
3
2
1
Run Code Online (Sandbox Code Playgroud)
我很陌生julia,我知道我可以按如下方式创建普通循环。
for i=1:10
println(i)
end
Run Code Online (Sandbox Code Playgroud)
直觉上,我尝试了如下(因为我认为它的行为类似于 python 的range([start], stop[, step])函数)。
for i=10:1:-1
println(i)
end
Run Code Online (Sandbox Code Playgroud)
虽然它没有失败,但它也没有打印任何东西。我究竟做错了什么?
是否有一种直观的方法可以向后循环julia?
尝试这个:
julia> for i=10:-1:1
println(i)
end
10
9
8
7
6
5
4
3
2
1
Run Code Online (Sandbox Code Playgroud)
或这个
julia> for i=reverse(1:10)
println(i)
end
10
9
8
7
6
5
4
3
2
1
Run Code Online (Sandbox Code Playgroud)
正如@phipsgabler 指出的,您还可以使用:
julia> range(10, 1, step=-1)
10:-1:1
Run Code Online (Sandbox Code Playgroud)
再次获得相同的结果(请注意,您必须将其1用作第二个索引)。
从我的实践来看range,使用length关键字参数通常更有用:
julia> range(10, 1, length=10)
10.0:-1.0:1.0
Run Code Online (Sandbox Code Playgroud)
(请注意,在这种情况下,您会得到一个Float64not向量Int)
| 归档时间: |
|
| 查看次数: |
431 次 |
| 最近记录: |