如何在Python中初始化二维元素的一维数组?

Kob*_*obi 2 python arrays

我想初始化一个具有X个二维元素的数组.例如,如果X = 3,我希望它是[[0,0],[0,0],[0,0]].我知道[0]*3给出[0,0,0],但我该如何为二维元素做这个呢?

Ósc*_*pez 6

试试这个:

m = [[0] * 2 for _ in xrange(3)]
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,3将矩形2视为行数,并将其视为列数.这0是您要用于初始化元素的值.请记住:如果您使用的是Python 3,请使用range而不是xrange.

要获得更通用的解决方案,请使用此功能:

def create_matrix(m, n, initial=0):
    return [[initial] * n for _ in xrange(m)]
Run Code Online (Sandbox Code Playgroud)

对于问题的特定情况:

m = create_matrix(3, 2)
print m
> [[0, 0], [0, 0], [0, 0]]
Run Code Online (Sandbox Code Playgroud)

或者,如果您不介意使用numpy,可以使用numpy.zeros()Mellkor的答案中所示的功能.