Julia 中的 for 循环 - 迭代整个索引

hhi*_*231 3 indexing for-loop julia

我无法让 Julia 遍历矩阵中的所有数字:

A = [1 -2 3; -4 -5 -6; 7 -8 9]
Run Code Online (Sandbox Code Playgroud)

我想把所有的负数变成正数 3

我试过:

for i=A[1:end]
  if i<0
    A[i] = 3
    i += 1
  end
  return (A)
end
Run Code Online (Sandbox Code Playgroud)

我尝试将 i+=1 移动到不同的位置。但它仍然没有改变任何事情。

Bog*_*ski 7

尝试enumerate

\n\n
julia> A = [1 -2 3; -4 -5 -6; 7 -8 9]\n3\xc3\x973 Array{Int64,2}:\n  1  -2   3\n -4  -5  -6\n  7  -8   9\n\njulia> for (i,v) in enumerate(A)\n       if v < 0\n       A[i] = 3\n       end\n       end\n\njulia> A\n3\xc3\x973 Array{Int64,2}:\n 1  3  3\n 3  3  3\n 7  3  9\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者eachindex

\n\n
julia> A = [1 -2 3; -4 -5 -6; 7 -8 9]\n3\xc3\x973 Array{Int64,2}:\n  1  -2   3\n -4  -5  -6\n  7  -8   9\n\njulia> for i in eachindex(A)\n       if A[i] < 0\n       A[i] = 3\n       end\n       end\n\njulia> A\n3\xc3\x973 Array{Int64,2}:\n 1  3  3\n 3  3  3\n 7  3  9\n
Run Code Online (Sandbox Code Playgroud)\n\n

您可以在 Julia REPL 的交互式帮助中找到有关这些函数的详细信息。

\n

  • 也许“替换!(x-&gt;x&lt;0 ? 3 : x, A)”。 (3认同)