根据索引值创建Numpy数组(Python)

时间:2019-02-10 22:40:51

标签: python arrays numpy

在Numpy中,我可以创建一个2D数组,如下所示:

arr = np.array([[0 for x in range(width)] for y in range(height)], dtype=np.uint8)

但是我也可以像这样创建相同的数组,这更快了,因为它避免了Python列表理解:

arr = np.zeros((height, width), dtype=np.uint8)

但是,假设我希望数组的内容具有依赖于x和y值的值。例如,我可以做这样的事情(其中f(x,y)是我在其他地方定义的一些功能):

arr = np.array([[f(x, y) for x in range(width)] for y in range(height)], dtype=np.uint8)

但是这非常慢,并且具有我前面提到的相同问题。有没有一种方法可以创建具有类似于numpy.zeros的性能的数组,也许类似于:

arr = np.values(f(x,y), (height, width), dtype=np.uint8)

0 个答案:

没有答案