You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Julia中的嵌套列表转换为二维矩阵(多维数组)

Julia嵌套向量转矩阵解决方案

你可以根据你想要的矩阵行列对应关系,选择以下任意一种方法:

方法1:兼容所有Julia版本的通用写法

你之前用hcat、vcat没有得到预期结果,是因为没有使用splat(...)运算符拆分嵌套列表的内部子向量作为独立参数。

场景1:原嵌套列表的每个子向量作为矩阵的列

data = [[1,2],[4,5]]
mat_col = hcat(data...)
# 输出结果:
# 2×2 Matrix{Int64}:
#  1  4
#  2  5
# 调用mat_col[:,2]将返回 [4, 5]

场景2:原嵌套列表的每个子向量作为矩阵的行(多数场景的预期结果)

先将每个一维子向量转置为行向量,再进行纵向拼接:

data = [[1,2],[4,5]]
mat_row = reduce(vcat, permutedims.(data))
# 输出结果:
# 2×2 Matrix{Int64}:
#  1  2
#  4  5
# 调用mat_row[:,2]将返回 [2, 5]

方法2:使用stack函数(Julia 1.9+版本支持)

更高版本Julia提供了更简洁的stack函数,直接指定堆叠维度即可,无需手动拆分参数:

  • 按列堆叠:mat_col = stack(data, dims=2)
  • 按行堆叠:mat_row = stack(data, dims=1)

内容的提问来源于stack exchange,提问作者RvdV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 09:24:03