arraysjuliajagged-arraysarrayofarrays

Julia: counting total number of elements in an array-of-arrays


Is there a single function in Julia that will give you the total number of elements in an array-of-arrays (or 'jagged array')?

Here's what I mean:

my_array_of_arrays = [ [1, 5], [6], [10, 10, 11] ] 

I'm looking for a function such that desired_function(my_array_of_arrays) will return 6

And if not, what's the quickest way to do this in Julia?

Thanks in advance!


Solution

  • One way to do it without additional dependencies would be to use sum:

    julia> my_array_of_arrays = [ [1, 5], [6], [10, 10, 11] ] 
    3-element Array{Array{Int64,1},1}:
     [1, 5]
     [6]
     [10, 10, 11]
    
    julia> sum(length, my_array_of_arrays)
    6
    


    However, if you want to work more intensively with ragged arrays, you might be better off using specialized packages, such as ArraysOfArrays.jl.