我想创建一个具有这种结构的数组
k [1] = 1
k [2] = 2
k [3] = 3
k [4] = 4
我试着用这种方式但它不起作用
n= 10
for i in 1:n
k[i]= i
end
Run Code Online (Sandbox Code Playgroud)
有什么建议 ?
获取所需特定阵列的最简单方法是:
k = collect(1:10)
Run Code Online (Sandbox Code Playgroud)
如果要在循环中定义数组,则首先需要预先分配数组,例如使用k = zeros(10)然后指定值:
n = 10
k = zeros(n)
for i = 1:n
k[i] = i
end
Run Code Online (Sandbox Code Playgroud)
您尚未初始化数组,因此调用 k[1] 或 k[2] 或 k[n] 不会返回错误
你应该:
n= 10
k = Array(Int64, n) #or Float64 or Any instead of Int64
for i in 1:n
k[i]= i
end
Run Code Online (Sandbox Code Playgroud)
或者你可以
n= 10
k = []
for i in 1:n
push!(k,i)
end
Run Code Online (Sandbox Code Playgroud)
我建议使用前者,如果您无法事先确定数组的大小,则另一种方法会更合适