Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何在Julia中找到多维数组中每个元素的长度?_Arrays_Julia - Fatal编程技术网

Arrays 如何在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

假设我们在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, 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
应用到一个图表列表之后,我获得了这个结构。