[英]How do I initialize a one-dimensional array of two-dimensional elements in Python?
我想初始化一個包含 X 個二維元素的數組。 例如,如果 X = 3,我希望它是 [[0,0]、[0,0]、[0,0]]。 我知道 [0]*3 給出 [0, 0, 0],但我如何為二維元素執行此操作?
試試這個:
m = [[0] * 2 for _ in xrange(3)]
在上面的代碼中,將3
視為矩陣中的行數,將2
視為列數。 0
是您要用於初始化元素的值。 請記住這一點:如果您使用的是 Python 3,請使用range
而不是xrange
。
對於更通用的解決方案,請使用此 function:
def create_matrix(m, n, initial=0):
return [[initial] * n for _ in xrange(m)]
對於問題的特殊情況:
m = create_matrix(3, 2)
print m
> [[0, 0], [0, 0], [0, 0]]
或者,如果您不介意使用numpy
,則可以使用numpy.zeros()
function ,如 Mellkor 的回答中所示。
我想numpy.zeros對此很有用。 說,
x=4
numpy.zeros((x,x))
會給你:
數組([[ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0 ., 0., 0.]])
我相信它是[[0,0],]*3
使用結構
[[0,0]]*3
工作正常並返回以下內容:
[[0, 0], [0, 0], [0, 0]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.