gpt4 book ai didi

julia - 如何将异构数组 (Array{Any}) 提升为具有单一公共(public)类型元素的同构数组?

转载 作者:行者123 更新时间:2023-12-01 09:57:29 25 4
gpt4 key购买 nike

想象一下,例如,有一个像这样的异构数组

julia> a = {1, 2.2, int32(3), float32(4.4), 5, 6.6}
6-element Array{Any,1}:
1
2.2
3
4.4
5
6.6

其元素的单一通用类型是Float64

是否有函数或简约命令将此类 Any 数组转换为具有单一通用类型(Array{Float64} 对于给定示例)的元素数组,而无需明确地写出那个类型或者甚至事先知道它?

我知道如果使用方括号 [] 创建数组,首先会得到一个 Array{Float64}。但是,问题是关于在创建时类型 1 无法控制的数组的转换(例如,某些数组推导、从文件中读取的数组……)。

最佳答案

您正在寻找的转换类型的函数称为 convert

julia> a = {1, 2.2, int32(3), float32(4.4), 5, 6.6}
f6-element Array{Any,1}:
1
2.2
3
4.4
5
6.6

julia> convert(Array{Float64,1},a)
6-element Array{Float64,1}:
1.0
2.2
3.0
4.4
5.0
6.6

编辑:我不确定我是否理解您的为什么您想要您要求的行为,但我认为解决您提出的问题(而不是您遇到的问题!)是:

[promote(a...)...]

关于julia - 如何将异构数组 (Array{Any}) 提升为具有单一公共(public)类型元素的同构数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22859208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com