首页 > 解决方案 > 朱莉娅 | 反向 For 循环出错

问题描述

我想创建一个这样的数组

[1, 2, 1, 3, 2, 1, 4, 3, 2, 1]

我使用以下代码,应该是正确的,但我没有得到我想要的结果。

x = 0

for i in 1:4
   for z in i:1

       x = x + 1
       index[x] = z

   end
end

感谢您的时间。

标签: julia

解决方案


我会使用以下单线:

index = [ n for m in 1:4 for n in m:-1:1 ]

如果您出于某种原因确实需要预先分配index,您还可以更详细地编写循环,如下所示:

m = 4
index = ones(Int, sum(1:m))
c = 1
for m in 1:4
    for n in m:-1:1
        index[c] = n
        c += 1
    end
end

推荐阅读