Julia 如何在父数组中的两个数组之间进行分隔
这段代码是我想做的一个小例子,我这里有一个小例子:Julia 如何在父数组中的两个数组之间进行分隔,julia,Julia,这段代码是我想做的一个小例子,我这里有一个小例子: y=[[[1,0],[0,0],[1,1],[1,0],[1,0],[0,1]],[[1,0],[0,0],[1,1],[0,0]],[[1,0],[0,0],[1,1],[1,0],[1,0],[1,0]]] array=[] all_array=[] for i in 1:length(y) for j in 1: length(y[i]) if y[i][j]==[1,0] push!(ar
y=[[[1,0],[0,0],[1,1],[1,0],[1,0],[0,1]],[[1,0],[0,0],[1,1],[0,0]],[[1,0],[0,0],[1,1],[1,0],[1,0],[1,0]]]
array=[]
all_array=[]
for i in 1:length(y)
for j in 1: length(y[i])
if y[i][j]==[1,0]
push!(array,y[i][j])
end
end
end
当您返回数组时,我所期望的是:
[[[1,0],[1,0],[1,0]],[[1,0]],[[1,0],[1,0],[1,0],[1,0]]]
这是3元素数组{Array{Array{Int64,1},1},1}
但我得到的却是:
8-element Array{Any,1}:
[1, 0]
[1, 0]
[1, 0]
[1, 0]
[1, 0]
[1, 0]
[1, 0]
[1, 0]
我不知道我在这里遗漏了什么。您在
数组中一个接一个地推送满足条件的所有元素。您可以像这样创建阵列:
julia> array=[[],[],[]]
并将循环修改为push编码>到每个子数组数组[i]
中,如下所示:
julia> for i in 1:length(y)
for j in 1: length(y[i])
if y[i][j]==[1,0]
push!(array[i],y[i][j])
end
end
end
这将为您提供所需的数组
julia> array
3-element Array{Array{Any,1},1}:
[[1, 0], [1, 0], [1, 0]]
[[1, 0]]
[[1, 0], [1, 0], [1, 0], [1, 0]]