unsubscriptable
在TypeError的上下文中的含义如下:
TypeError: 'int' object is unsubscriptable
编辑: 导致这种现象的简短代码示例。
a=[[1,2],[5,3],5,[5,6],[2,2]]
for b in a:
print b[0]
> 1
> 5
> TypeError: 'int' object is unsubscriptable
答案 0 :(得分:31)
这意味着您尝试将整数视为数组。例如:
a = 1337
b = [1,3,3,7]
print b[0] # prints 1
print a[0] # raises your exception
答案 1 :(得分:11)
示例代码中的问题是数组“a”包含两种不同的类型:它有4个2元素列表和1个整数。然后,您尝试对“a”中的每个元素进行子脚本编写,包括整数元素。
换句话说,您的代码正在有效地执行:
print [1,2][0]
print [5,3][0]
print 5[0]
print [5,6][0]
print [2,2][0]
它所在的中间行“5 [0]”是产生错误的原因。
答案 2 :(得分:8)
您正在尝试查找int的数组下标:
>>> 1[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is unsubscriptable
也就是说,方括号[]
是下标运算符。如果您尝试将下标运算符应用于不支持它的对象(例如未实现__getitem__()
)。
答案 3 :(得分:0)
我解决了将变量从列表转换为数组的问题!
import numpy as np
my_list = API.get_list()
my_array = np.array(my_list)
即使工作并且是错误的肯定,这也解决了我的“问题”