Julia的范围内是否有跳过参数?

时间:2017-02-07 08:14:53

标签: python for-loop range julia skip

在Python中,我们可以使用for循环迭代并使用skip参数跳过索引:

max_num, jump = 100, 10
for i in range(0, max_num, jump):
    print (i)

通过这样做,我可以通过while循环实现相同的目的:

max_num, jump = 100, 10
i = 0
while i < max_num
    print(i)
    i+=jump
end

使用for循环中显示的相同i+=jump语法不会跳过索引:

for i in range(0,max_num)
    print(i)
    i+=jump
end

for-loop中是否可以“跳过”?如果是,怎么做?

4 个答案:

答案 0 :(得分:9)

你可以做到

max_num, step = 100, 10

for i in 0:step:max_num
    println(i)
end

使用range(),您不指定max_num,而是指定所需的迭代次数。因此0:step:max_num等于range(0, step, max_num/step)

答案 1 :(得分:3)

朱莉娅的语法略有不同。

它是range(start, [step,]length),例如

for i in range(0, 3, 10)
   println(i)
end

[OUT]:

0
3
6
9
12
15
18
21
24
27

还有另一种语法start:step:max_num 请参阅@Sayse对detali的回答

答案 2 :(得分:1)

您可以在第一个snipppet中执行此操作(在range中定义)。除此之外,您必须使用模数

for i in range(0,max_num):
    if(i % jump != 0):
        continue
    print(i)

答案 3 :(得分:1)

start:jump:end

示例:

a = 0:10:100

你可以使用它循环:

for a in 0:10:100
  println(a)
end