簡體   English   中英

Python - 多行數組

[英]Python - multi-line array

在c ++我寫道:

int someArray[8][8];
for (int i=0; i < 7; i++)
   for (int j=0; j < 7; j++)
      someArray[i][j] = 0;

如何在python中初始化多行數組? 我試過了:

array = [[],[]]
for i in xrange(8):
   for j in xrange(8):
        array[i][j] = 0
>>> [[0]*8 for x in xrange(8)]
[[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, 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], [0, 0, 0, 0, 0, 0, 0, 0]]
>>>

您詢問了有關初始化列表的信息。 它是一個非常有用的數據結構,但它與C ++中的2D數組有重要區別:不能保證所有行都具有相同的長度(即, len(a[0])==len(a[1]) (在C ++中你確實有這種保證)。

所以另一個可能很方便的解決方案是使用NumPy數組數據類型,如下所示:

import numpy as np
array = np.zeros((8,8))

這是一個更短的方式:

array = []
for i in xrange(8):
    array.append( [0] * 8 )
array = [[0]*8 for i in xrange(8)]
[[0]*8 for x in range(8)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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