如何在 Julia 中实现递减 for 循环?
How to implement a decrementing for loop in Julia?
我知道在python
我可以做如下事情。
for i in range(10, 0, -1):
print(i)
将输出:
10
9
8
7
6
5
4
3
2
1
我是 julia
的新手,我知道我可以按如下方式创建正常循环。
for i=1:10
println(i)
end
凭直觉,我尝试了如下操作(因为我认为它的行为类似于 python 的 range([start], stop[, step])
函数)。
for i=10:1:-1
println(i)
end
虽然没有失败,但也没有打印任何东西。我做错了什么?
在julia
中是否有一种直观的向后循环的方法?
试试这个:
julia> for i=10:-1:1
println(i)
end
10
9
8
7
6
5
4
3
2
1
或这个
julia> for i=reverse(1:10)
println(i)
end
10
9
8
7
6
5
4
3
2
1
如@phipsgabler 所述,您还可以使用:
julia> range(10, 1, step=-1)
10:-1:1
再次获得相同的结果(请注意,尽管您必须使用 1
作为第二个索引)。
根据我的实践,range
通常与 with length
关键字参数一起更有用:
julia> range(10, 1, length=10)
10.0:-1.0:1.0
(请注意,在这种情况下,您得到的向量是 Float64
而不是 Int
)
我知道在python
我可以做如下事情。
for i in range(10, 0, -1):
print(i)
将输出:
10
9
8
7
6
5
4
3
2
1
我是 julia
的新手,我知道我可以按如下方式创建正常循环。
for i=1:10
println(i)
end
凭直觉,我尝试了如下操作(因为我认为它的行为类似于 python 的 range([start], stop[, step])
函数)。
for i=10:1:-1
println(i)
end
虽然没有失败,但也没有打印任何东西。我做错了什么?
在julia
中是否有一种直观的向后循环的方法?
试试这个:
julia> for i=10:-1:1
println(i)
end
10
9
8
7
6
5
4
3
2
1
或这个
julia> for i=reverse(1:10)
println(i)
end
10
9
8
7
6
5
4
3
2
1
如@phipsgabler 所述,您还可以使用:
julia> range(10, 1, step=-1)
10:-1:1
再次获得相同的结果(请注意,尽管您必须使用 1
作为第二个索引)。
根据我的实践,range
通常与 with length
关键字参数一起更有用:
julia> range(10, 1, length=10)
10.0:-1.0:1.0
(请注意,在这种情况下,您得到的向量是 Float64
而不是 Int
)