2013-08-01 181 views
0

我有一个看起来像这样的列表:通过列表迭代

A = [(1,1,1,2,2), (1,1,3,2,2), (1,1,6,2,2), (1,1,5,2,2), (1,1,2,5,2), (2,1,1,1,2) ...] 

我通过一个简单的for循环运行的元素,像这样:

n = len(A); 
for p in [0..n-1] : 
    a1 = A[p][5*p] 
    a2 = A[(p+1)][5*(p+1)] 
    . 
    . 

和我得到: 'int'对象不可迭代。我不知道为什么这不起作用。

快速编辑:

理想输出:每a1为像 - A 1 = A [0] [0],然后A1 = A [1] [5],则A1 = A [2] [10 ]和。

+0

你到底想干什么? – TerryA

+0

尝试打印元组的某些元素。为了得到这样的输出:a1 = A [0] [0]然后下a1 = [1] [5],然后你可以写a1 = [2] [10] –

+0

什么是A [0] [ 0],A [1] [5]和A [2] [10]在你的例子中? –

回答

0

似乎你已经习惯了matlab。尝试:

for p in range(n): 

无论如何,你会得到指标的问题使用`A [P] [5 * P]。

+0

这不适合我。我仍然无法迭代。我已经使用过以前多次展示的方法,并使用它生成列表。 –

+0

语法'[0..n-1]'从来没有工作,我敢肯定。 –

+0

'[0..n-1]'确实有效。但是我的索引如你所说是不正确的。我已经想通了为什么我得到这个错误! –

1

鉴于你正在尝试做的事:

for p in A: 
    print p[0],p[4]