将重组元组添加到列表中的正确语法是什么?
例如,如果我有两个列表:
>>> 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 :(得分:4)
你试图这样做:
(a[0][0],a[0,2])
^^^
这就像在做:
(a[0][0],a[(0,2)])
像错误说的那样:列表索引必须是整数,而不是元组
如果我没弄错的话,我想你想做:
b.append((a[0][0],a[0][2]))
答案 1 :(得分:1)
你的问题是:
b.append((a[0][0],a[0,2]))
^
当你的意思是[0, 2]
[0][2]
答案 2 :(得分:1)
indices 必须是整数。这只是一个错字,你有a[0,2]
而不是a[0][2]
。 [0,2]
是按元组索引的尝试。
答案 3 :(得分:0)
a [0,2]是你的问题。
它没有抱怨追加,它告诉你[0,2]不能用作列表a的索引。