2011-10-14 24 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

相关问题