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

如何用自身坐标填充numpy nr×nc整数数组?

生成元素为坐标二元组的NumPy数组

方法一:嵌套列表推导式

你可以用嵌套列表推导式先生成包含坐标二元组的二维列表,再转换为NumPy数组:

import numpy as np

nr, nc = 3, 4  # 替换为你的行数和列数
# 外层遍历行索引i,内层遍历列索引j,生成每个位置的坐标二元组
coord_list = [[(i, j) for j in range(nc)] for i in range(nr)]
# 转换为NumPy数组
coord_array = np.array(coord_list)

# 打印结果
print(coord_array)

运行后输出(以3×4为例):

[[(0, 0) (0, 1) (0, 2) (0, 3)]
 [(1, 0) (1, 1) (1, 2) (1, 3)]
 [(2, 0) (2, 1) (2, 2) (2, 3)]]

方法二:NumPy原生高效实现

如果处理大数组,列表推导式效率较低,推荐用NumPy的indices方法直接生成索引矩阵,再转换为二元组格式:

import numpy as np

nr, nc = 3, 4
# 生成行、列索引矩阵
rows, cols = np.indices((nr, nc))
# 合并为坐标数组(每个元素是[i,j]形式的数组)
coord_array = np.dstack((rows, cols))
# 转换为二元组格式
coord_array_tuple = np.array([tuple(pair) for pair in coord_array.reshape(-1, 2)]).reshape(nr, nc)

print(coord_array_tuple)

这个方法利用NumPy的向量化操作,比列表推导式更适合大规模数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 17:57:11