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]]