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

如何用元组向量索引Julia二维数组以获取对应值?

解决Julia中用元组向量索引二维数组的问题

在Julia里,直接用元组向量tupl1作为二维数组m1的索引会报错,因为多维数组的索引规则要求不同维度的索引分开传递,而元组向量会被误解析为单一维度的无效索引。下面是几种可行的解决方式:

方法1:使用广播的getindex

利用Ref固定数组对象,对每个元组单独调用索引操作:

getindex.(Ref(m1), tupl1)

运行后会得到你期望的结果:

4-element Vector{Int64}:
 1
 0
 1
 1

方法2:拆分元组为行、列索引向量

把元组向量拆成单独的行索引和列索引数组,再用多维索引方式取值:

rows = first.(tupl1)  # 提取所有元组的第一个元素(行号)
cols = last.(tupl1)   # 提取所有元组的第二个元素(列号)
m1[rows, cols]

这种方式和方法1效果一致,适合需要单独使用行/列索引的场景。

方法3:用map遍历元组向量

通过map逐个处理每个元组,获取对应位置的值:

map(t -> m1[t], tupl1)

逻辑直观易懂,同样能输出目标结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 03:45:47