在python中初始化多维数组

时间:2017-05-14 23:23:50

标签: python arrays list multidimensional-array

我正从c转到python。

我想初始化一个不同长度的数组:map((2,3,(5,6,7)))

我希望数组np.zeros((2,3))的每个条目都是一个不同长度的列表。

我希望python等同于c:

for(ii=0; ii<N; ii++) {
    dim[ii] = ii**2;
    for(jj=0; jj<Z; jj++) {
        map[jj][ii] = (long*) calloc(dim[ii], sizeof(long));
    }
}

我尝试了几件事,但没有一件事是我需要的。我想稍后访问数据并使用我没有设法的列表。

谢谢!

1 个答案:

答案 0 :(得分:0)

我设法做到了:

>>> x=[[0]*3 for count in range(2)]
>>> for ii in range(2):
...     for jj in range(3):
...         x[ii][jj]=[0]*(jj+1)**2
... 
>>> x
[[[0], [0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0], [0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0]]]

虽然我确信有更好的方法,谢谢!