我想初始化一个具有X个二维元素的数组.例如,如果X = 3,我希望它是[[0,0],[0,0],[0,0]].我知道[0]*3给出[0,0,0],但我该如何为二维元素做这个呢?
试试这个:
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的答案中所示的功能.