首页 > 解决方案 > 如何以 (y, x) 坐标为值创建一个 numpy 数组?

问题描述

数组应该是这样的:

[[[0,0], [0,1], [0,2], [0,3]],
 [[1,0], [1,1], [1,2], [1,2]],
 [[2,0], [2,1], [2,2], [2,2]]]

我的尝试(非常低效):

coord = np.empty((height, width, 2))
for h in range(height):
    for w in range(width):
        for z in range(2):
            coord[h][w][z] = h if z == 0 else w

标签: pythonnumpy

解决方案


什么叫低效?

您是否尝试过列表理解?

height = 3
width = 4
[[[i,j] for j in range(width)] for i in range(height)]

推荐阅读