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

NumPy如何向量化实现索引矩阵到对应列表元素矩阵的转换

向量化实现索引矩阵值替换方案

核心实现(NumPy环境,完全向量化)

直接利用NumPy的高级索引特性,无需手动编写循环,输入任意维度的索引矩阵都可以直接输出相同维度的结果矩阵,示例代码如下:

import numpy as np

# 输入参数
z = [[0, 1], [1, 0]] # 任意维度的索引矩阵
lookup_list = [20, 10] # 对应查找列表

# 向量化转换操作
z_np = np.array(z)
lookup_np = np.array(lookup_list)
result_np = lookup_np[z_np]

# 若需要转回Python原生列表格式
result = result_np.tolist()

运行上述代码得到的result即为示例要求的[[20, 10], [10, 20]]。

特性说明

  • 维度自动适配:无论输入的索引矩阵是2维、3维甚至更高维度,输出结果的维度和索引矩阵完全一致
  • 性能优势:操作底层为C实现,相比Python层级的遍历/列表推导,大尺寸矩阵下性能提升可达数百倍
  • 其他框架适配:如果使用PyTorch/TensorFlow等深度学习框架,操作逻辑完全一致,直接用查找张量索引索引张量即可。

注意事项

需要保证索引矩阵内的所有元素取值范围在[0, len(lookup_list)-1]之间,否则会触发索引越界错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 06:54:03