将元组添加到列表中
如何正确地把一个重新组合的元组添加到列表中呢?
比如说,我有两个列表:
>>> 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)]
4 个回答
1
这里的索引必须是整数。你写错了,应该是a[0][2]
,而不是a[0,2]
。[0,2]
是想用一个元组来索引,但这样是不对的。
1
你的问题是这样的:
b.append((a[0][0],a[0,2]))
^
你试图使用一个不存在的元组索引 [0, 2]
,其实你想用的是 [0][2]
4
你可以尝试这样做:
(a[0][0],a[0,2])
^^^
这就像是在做:
(a[0][0],a[(0,2)])
就像错误提示说的那样:列表的索引必须是整数,而不是元组
如果我没记错的话,我觉得你想做的是:
b.append((a[0][0],a[0][2]))