2010-11-08 78 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]是通过元组来尝试索引