gpt4 book ai didi

Julia :追加到一个数组

转载 作者:行者123 更新时间:2023-12-03 20:16:50 25 4
gpt4 key购买 nike

有人请帮助我理解这一点。我在下面有以下代码。我正在尝试附加 index[i]-1到一个空数组。但是我收到此错误:“BoundsError: attempt to access 0-element Array{Any,1} at index [1]”:

sample_size_array = [9,5,6,9,2,6,9]
n_minus_1 = []
array_length = length(sample_size_array)
for i in 1:array_length
n_minus_1[i].append(sample_size_array[i] -1)
end
println(n_minus_1)

如果 Julia 不明白 array[0]那为什么我从 0 开始而不是从 1 开始呢?

最佳答案

您的代码有两个问题:

  • 在第一次迭代中,您尝试访问 n_minus_1索引处的数组 1虽然这个数组仍然是空的(有 0 长度) - 这会给你一个错误;
  • 在 Julia 中,您不使用 . 调用方法(这个符号用于不同的目的——在这种情况下,它被解析为字段访问,稍后也会抛出错误)

  • 要解决这两个问题,请使用 push!在数组末尾追加元素的函数。代码可能如下所示:
    sample_size_array = [9,5,6,9,2,6,9]
    n_minus_1 = []
    array_length = length(sample_size_array)
    for i in 1:array_length
    push!(n_minus_1, sample_size_array[i]-1)
    end
    println(n_minus_1)

    然而,在这种情况下,整个操作可以写得更简单:
    n_minus_1 = sample_size_array .- 1

    并且你不需要任何循环(在这里你会看到 . 在 Julia 中的另一种用法——在这种情况下,我们用它来表示我们想要从 1 的每个元素中减去 sample_size_array )。

    关于 Julia :追加到一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51804108/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com