Arrays 如何在Julia中找到多维数组中每个元素的长度?
假设我们在Julia中有一个Arrays 如何在Julia中找到多维数组中每个元素的长度?,arrays,julia,Arrays,Julia,假设我们在Julia中有一个n元素数组{Array{Array{Int64,1},1},1},如下所示: 1) 元素1:1-元素数组{Array{Int64,1},1}: [1,2,3,4,5,6,7,8,9,10.141,142,143,144,145,146,147,148,149,150] 2) 元素2:2元素数组{Array{Int64,1},1}: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 . 41, 42, 43, 44, 45, 46, 47, 48, 49
n元素数组{Array{Array{Int64,1},1},1}
,如下所示:
1) 元素1:1-元素数组{Array{Int64,1},1}:
[1,2,3,4,5,6,7,8,9,10.141,142,143,144,145,146,147,148,149,150]
2) 元素2:2元素数组{Array{Int64,1},1}:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10 . 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]
[51、52、53、54、55、56、57、58、59、60.141、142、143、144、145、146、147、148、149、150]
等等
实际上,每个元素都表示几个无向图的连接组件。是否有命令或简单的方法来获取每个最深数组的长度(连接组件的数量)?即:
1) 150
2) 50和100
等等
谢谢 给定
a = [[rand(3), rand(4)], [rand(5)]]
您已经评论过的版本将是
julia> map(x -> length.(x), a)
2-element Array{Array{Int64,1},1}:
[3, 4]
[5]
或者,我认为以下内容更具可读性:
julia> [[length(x) for x in y] for y in a]
2-element Array{Array{Int64,1},1}:
[3, 4]
[5]
但是@juliohm是对的,可能有比深度嵌套数组更好的数据结构。如果您正在处理图形问题,可以查看一下LightGraphs.jl
a = [[rand(3), rand(4)], [rand(5)]]
您已经评论过的版本将是
julia> map(x -> length.(x), a)
2-element Array{Array{Int64,1},1}:
[3, 4]
[5]
或者,我认为以下内容更具可读性:
julia> [[length(x) for x in y] for y in a]
2-element Array{Array{Int64,1},1}:
[3, 4]
[5]
但是@juliohm是对的,可能有比深度嵌套数组更好的数据结构。如果你正在处理图形问题,也许可以看看
LightGraphs.jl
。我想我找到了答案,所以我可以与大家分享!但其他建议显然是受欢迎的!因此,假设n元素数组{Array{Array{Int64,1},1},1}
存储在对象A
中。我们可以对第k个元素进行length.(A[k])
。然后,使用map
命令,我们可以获得所有长度。我只需重新设计程序,而不使用Array{Array{Array…}
。Juliaarray组织中还有其他类型的数组更有效。啊,很好!!!谢谢!!!我想我找到了答案,所以我可以与大家分享!但显然欢迎其他建议!因此,想象一下n元素数组{Array{Int64,1},1},1}
存储在对象A
中。我们可以对第k个元素执行length.(A[k])
。然后,使用map
命令,我们可以获得所有长度。我只需重新设计程序,而不使用Array{Array{Array…}
。Juliaarray组织中还有其他类型的组件更有效。啊,很好!!!谢谢!!!是的,谢谢!它正是来自LightGraphs。jl
我在将命令connected_components
应用到一个图表列表后获得了此结构。是的,谢谢!它正是来自LightGraphs.jl
>在将命令connected\u components
应用到一个图表列表之后,我获得了这个结构。