簡體   English   中英

如何初始化Python中二維元素的一維數組?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM