2013-08-01 233 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]