如何使用列表理解创建二维数组?

kn0*_*n05 4 list-comprehension julia

为了制作具有列表理解的二维数组,我这样写:

array = [f(i) for in 1:length]
Run Code Online (Sandbox Code Playgroud)

此时,函数 f 返回一维列表。但结果是嵌套数组.... 我如何创建具有列表理解的二维数组?

二维维度的例子是这样的:

julia> A
2×3 Array{Float64,2}:
 0.0194681  0.195811  0.150168
 0.398199   0.544672  0.942663
Run Code Online (Sandbox Code Playgroud)

Bog*_*ski 5

由于您f已经返回了一个向量(我假设您在编写“一维列表”时指的是这种类型),因此不可能使用f(i)[j]推导式创建矩阵(除非您想在 Przemyslaw 的示例中编写,这将是效率低下)。

你应该做的是:

reduce(hcat, [f(i) for i in 1:len])
Run Code Online (Sandbox Code Playgroud)

得到一个矩阵,其列是由 返回的值f(i)