Julia:计算数组中的元素总数

问题描述 投票:3回答:2

Julia中是否有一个函数可以为您提供数组数组(或“锯齿数组”)中元素的总数?

这是我的意思:

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

我正在寻找一个desired_function(my_array_of_arrays)将返回6

如果不是,在Julia中最快的方法是什么?

提前感谢!

arrays julia jagged-arrays arrayofarrays
2个回答
2
投票

没有其他依赖项的一种方法是使用mapreduce

mapreduce

但是,如果您想更深入地处理参差不齐的数组,最好使用专用的程序包,例如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> mapreduce(length, +, my_array_of_arrays) 6


0
投票

@ MattB建议的ArraysOfArrays.jl是一个更优雅的答案,应该在这里,以便其他人可以找到它。

测试:

ArraysOfArrays.jl

请注意,两种方法sum(length, x)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 的性能相同,因为两者均未实现数据。

© www.soinside.com 2019 - 2024. All rights reserved.