类型错误:元组索引必须是整数,而不是元组

时间:2013-05-22 02:48:21

标签: python

我试图让这种方法起作用,但事实并非如此。

相关代码:

for (i, t) in enumerate(transitions[location]):
    print i+1, t[0]
actionChoice=int(raw_input("> "))
console.clear()
transitions=transitions[location][actionChoice-1]

我得到类型错误:元组索引必须是整数,而不是元组

我应该在哪里修理它?这是什么意思?

2 个答案:

答案 0 :(得分:5)

location是一个元组。此行会导致错误:transitions[location]

另请注意,enumerate接受start参数,因此您可以使用enumerate(x, start=1)来避免撰写i+1

答案 1 :(得分:0)

这是一个演示:

正确:

>>> tup=(1,2)
>>> tup[0]
1

不正确:

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

最有可能的是,location是一个元组 - 不是整数。