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

如何调用单个NumPy函数获取指定格式的多维数组所有索引?

NumPy获取指定形状数组所有索引的实现方案

你需要的是形状为(3,2)的数组的行优先排列的全量多维索引,目前有几种简洁的实现方式:

  • 写法1:用np.argwhere单函数调用即可得到匹配结果
    代码示例:
    np.argwhere(np.ones((3, 2), dtype=bool))
    
    输出和你给出的[[x, y] for x, y in np.ndindex((3, 2))]结果完全一致。
  • 写法2:直接转换np.ndindex迭代器,语义更清晰
    代码示例:
    np.array(list(np.ndindex(3, 2)))
    
    这种写法可读性更高,一眼就能看出是生成指定形状的所有多维索引。
  • 写法3:对np.indices的输出做简单变换
    代码示例:
    np.indices((3, 2)).reshape(2, -1).T
    
    不需要生成辅助数组,适合处理大尺寸数组的场景。

目前NumPy没有原生的无额外参数依赖的单个函数直接返回该格式的索引数组,上述三种都是社区通用的成熟实现,性能都可以满足绝大多数使用场景的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:39:03