0
在该推压到载体的载体是使用朱莉娅0.6在朱
说我有整数
x = Vector{Int64}[] resize!(x, 10) fill!(x, [0])
我要推到所选择的载体外载体内的向量的向量,但不能让它工作。
push!(x[1], 2)
julia> x
10-element Array{Array{Int64,1},1}:
[0, 2]
[0, 2]
[0, 2]
[0, 2]
[0, 2]
[0, 2]
[0, 2]
[0, 2]
[0, 2]
[0, 2]
它最终将对推向每个向量。我在想这个错误的方式吗?有没有办法只推送一个选定的矢量?
使用某个矢量的视图并没有帮助。
a = x[1]
push!(a, 3)
julia> x
10-element Array{Array{Int64,1},1}:
[0, 2, 3]
[0, 2, 3]
[0, 2, 3]
[0, 2, 3]
[0, 2, 3]
[0, 2, 3]
[0, 2, 3]
[0, 2, 3]
[0, 2, 3]
[0, 2, 3]
可以做到这一点吗?
的问题是'fill'。通过'fill!(x,[0])'将数组初始化为'x = [[0] for i = 1:10]' –
,'x'的每个元素都绑定到完全相同的矢量'[0] ':'x [1] === x [2]#=> true',所以如果你改变'[0]',所有相应绑定的内容都会改变。 – Gnimuc
这是一个错误?为什么填充不能复制? –