,可以使用size()
函数来实现。
size()
函数用于获取数组的维度信息,包括行数、列数等。对于嵌套数组,可以通过递归调用size()
函数来获取每个子数组的形状,并将结果以元组的形式返回。
下面是一个示例代码:
function get_nested_array_shape(arr)
if !isa(arr, Array)
return ()
end
shape = ()
for subarr in arr
subarr_shape = get_nested_array_shape(subarr)
shape = (shape..., subarr_shape)
end
return size(arr), shape
end
# 示例用法
nested_array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
arr_shape, nested_shape = get_nested_array_shape(nested_array)
println("数组形状:", arr_shape)
println("嵌套数组形状:", nested_shape)
输出结果为:
数组形状:(3, 3)
嵌套数组形状:((3,), (3,), (3,))
以上代码定义了一个get_nested_array_shape()
函数,该函数通过递归调用来获取嵌套数组的形状。如果输入的数组不是Array
类型,则直接返回一个空的元组()
。对于每个子数组,将其形状递归地添加到shape
中,最终返回嵌套数组的形状。
对于这个问题,推荐腾讯云的云原生产品Kubernetes(https://cloud.tencent.com/product/kubernetes),它是一个开源的容器编排引擎,可以帮助用户快速部署、管理和扩展容器化应用。使用Kubernetes,可以方便地在云上构建弹性、高可用的应用架构,并实现快速部署、自动伸缩等功能。
领取专属 10元无门槛券
手把手带您无忧上云