arrays - Julia:扁平化数组/元组数组

标签 arrays tuples julia flatten

在 Julia vec将多维数组 reshape 为一维数组。
但是它不适用于数组数组或元组数组。
使用数组理解的一部分,是否有另一种方法来展平数组/元组的数组?还是数组数组/数组元组/元组?或者 ...

最佳答案

Iterators.flatten(x)创建一个迭代 x 的每个元素的生成器.它可以处理您描述的一些案例,例如

julia> collect(Iterators.flatten([(1,2,3),[4,5],6]))
6-element Array{Any,1}:
 1
 2
 3
 4
 5
 6

如果您有由数组和元组组成的数组,您可能应该重新考虑您的数据结构,因为它听起来类型不稳定。但是,您可以多次调用 flatten ,例如
julia> collect(Iterators.flatten([(1,2,[3,3,3,3]),[4,5],6]))
6-element Array{Any,1}:
 1            
 2            
  [3, 3, 3, 3]
 4            
 5            
 6            

julia> collect(Iterators.flatten(Iterators.flatten([(1,2,[3,3,3,3]),[4,5],6])))
9-element Array{Any,1}:
 1
 2
 3
 3
 3
 3
 4
 5
 6

请注意我的所有示例如何返回 Array{Any,1} .这对性能来说是一个坏信号,因为这意味着编译器无法确定输出数组元素的单一具体类型。我选择这些示例是因为我阅读您的问题的方式听起来您可能已经输入了不稳定的容器。

关于arrays - Julia:扁平化数组/元组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47021821/

相关文章:

php - 如何在第一个数组的基础上组合两个数组

最多8个元素的php随机配对

package - Julia - 如果我激活一个新环境,为什么我仍然可以从我的一般环境中加载模块?

c++ - 通过 move 从两个 vector 创建元组 vector

c# - 比较元组,忽略元素的顺序

julia - Julia 中的符号数学?

Julia (Julia):使用Gadfly.jl绘制图矩阵

php - MySQL 和 PHP - 使用 'LIKE' 和 'NOT LIKE'

java - 如何从二维数组中获取第一列的内容

python - 查找成对元素的索引