2011-10-14 26 views
-3

我如何轉換這個C++代碼如何將C++中的數組轉換爲Python?

for(int i=0; i<3; ++i){ 
    array[i][0]=i*4+0; 
    array[i][1]=i*4+1; 
    array[i][2]=i*4+2; 
    array[i][3]=i*4+3;} 

到Python?


當你的IDE說xrange未定義功能,請看看@ ThiefMaste'comments:

僅僅因爲你的IDE說了什麼沒有定義,這並不意味着它沒有定義。但是,如果你正在使用Python3沒有定義,因爲它更名爲範圍(並且除去原始的,非迭代器區間)

回答

1
array = [] 
for i in range(3): 
    list.append([i*4, i*4+1, i*4+2, i*4+3]) 

或者更精確地說(如果該列表不前空):

for i in range(3): 
    list[i] = [i*4, i*4+1, i*4+2, i*4+3] 

和更Python的方法來生成4個元素是:

[i*4+n for n in range(4)] 
+1

僅僅因爲你的IDE說某事沒有定義,並不意味着它沒有被定義。但是,如果你使用的是Python3,* *因爲它被重命名爲'range'而沒有定義(並且原來的非迭代器範圍已被刪除) – ThiefMaster

+1

@roccia:請問在你提出的問題後在他們中已被回答?! – ThiefMaster

+0

@ThiefMaster:o..o〜我試圖讓問題更清楚,所以我刪除了評論.. – roccia

3

怎麼這一下:

In [3]: [[i*4+j for j in xrange(4)] for i in xrange(3)] 
Out[3]: [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]] 
+0

第二個xrange應該是xrange(3),因爲他的循環是<3「,而不是」<= 3「 – ThiefMaster

+0

@ ThiefMaster :謝謝,錯字固定。 – NPE

相關問題