【请教】JL中如何将tuple转换为array?


#1

JL中有没有直接的办法将tuple数据转换为array,使用convert()不行,难道只能采用遍历的方法?谢谢!


#2

collect 函数


julia> collect((1,2,3))
3-element Array{Int64,1}:
 1
 2
 3

julia> typeof(ans)
Array{Int64,1}

#3

多谢!万能的collect()啊


#4

如果你只是打算计算这个东西,建议使用StaticArray,StaticArray可以接收一个tuple,因为它是静态的。

julia> SVector((1, 2, 3))
3-element SArray{Tuple{3},Int64,1,3}:
 1
 2
 3

你可以直接把它当作Array来用,它也实现了Array interface,由于没有丢失编译时期的形状信息(tuple到动态的Array,会把长度信息在编译时期丢失),很多时候具有更好的性能。

因为Julia是duck type并且有多重派发,很多时候不必太在意具体的类型是什么。StaticArray也是一种array


#5

嗯嗯,感谢群主指点!