簡體   English   中英

如何在 Julia 中實現遞減 for 循環?

[英]How to implement a decrementing for loop in Julia?

我知道在python中我可以執行以下操作。

for i in range(10, 0, -1):
    print(i)

其中將 output:

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來看,使用length關鍵字參數通常更有用:

julia> range(10, 1, length=10)
10.0:-1.0:1.0

(請注意,在這種情況下,您會得到一個Float64的向量,而不是Int

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM