我需要制作一个零的多维数组。

对于两个(D = 2)或三个(D = 3)尺寸,这很容易,我会使用:

a = numpy.zeros(shape=(n,n))

或者
a = numpy.zeros(shape=(n,n,n))

对于更高的D,我如何使数组的长度为n?

最佳答案

您可以将元组(n,)乘以所需的维数。例如。:

>>> import numpy as np
>>> N=2
>>> np.zeros((N,)*1)
array([ 0.,  0.])
>>> np.zeros((N,)*2)
array([[ 0.,  0.],
       [ 0.,  0.]])
>>> np.zeros((N,)*3)
array([[[ 0.,  0.],
        [ 0.,  0.]],

       [[ 0.,  0.],
        [ 0.,  0.]]])

10-07 21:34