2010-11-08 76 views
5

將重組元組添加到列表的正確語法是什麼?將元組追加到列表

舉例來說,如果我有兩個列表:

>>> a = [(1,2,3),(4,5,6)] 
>>> b = [(0,0)] 

然後我會想到以下工作:

>>> b.append((a[0][0],a[0,2])) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: list indices must be integers, not tuple 

而且,當它告訴我,指數必須是整數,怎麼來的這有用嗎?

>>> b.append((7,7)) 
>>> b 
[(0, 0), (7, 7)] 
+0

你能澄清你的編輯,說這個錯字是潛在的問題嗎?目前尚不清楚您的編輯是澄清問題還是確定錯誤的根本原因。 – 2013-12-10 01:33:06

回答

4

你已經嘗試這樣做:

(a[0][0],a[0,2]) 
      ^^^ 

這就好像是這樣做的:

(a[0][0],a[(0,2)]) 

,類似的錯誤說:列表索引必須是整數,而不是元組

如果我沒有弄錯,我想你想做:

b.append((a[0][0],a[0][2])) 
0

a [0,2]是你的問題。

這不是抱怨追加,它告訴你[0,2]不能用作列表a的索引。

1

你的問題是這樣的:

b.append((a[0][0],a[0,2])) 
        ^

您嘗試,當你的意思是[0][2]

1

指數使用不存在的元組指數[0, 2]必須爲整數。這只是一個錯別字,你有a[0,2]而不是a[0][2][0,2]是通過元組來嘗試索引