2010-04-13 12 views

cevap

7
>>> [[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]] 
>>> 
+0

1 döngü için ... –

3

daha kısa bir yoldur. Çok kullanışlı bir veri yapısı, ancak C++'daki 2D dizisinden önemli bir farkı vardır: Tüm çizgilerin aynı uzunluğa sahip olduğu (yani, len(a[0])==len(a[1]) (C++ 'da bu garantiye sahip olduğunuz) hiçbir garanti yoktur.

kullanışlı olabilir

Yani başka bir çözüm, bu gibi NumPy 'ın array veri türü kullanıyor:

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

+1 bir liste anlama kullanan ilk olma yolu :-) – YOU

3
array = [[0]*8 for i in xrange(8)] 
2
[[0]*8 for x in range(8)] 
7

Sen listelerin bir listesini başlatılırken hakkında sorular:

İşte
array = [[],[]] 
for i in xrange(8): 
    for j in xrange(8): 
     array[i][j] = 0 
+2

Saygısız bir şekilde bilmek güzel! +1 – YOU