将元组添加到列表中

5 投票
4 回答
19205 浏览
提问于 2025-04-16 06:45

如何正确地把一个重新组合的元组添加到列表中呢?

比如说,我有两个列表:

>>> 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]))

撰写回答