2024-04-27 21:44:15 发布
网友
在TypeError上下文中unsubscriptable是什么意思,如:
unsubscriptable
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
示例代码中的问题是数组“a”包含两种不同的类型:它有4个2元素列表和一个整数。然后尝试为“a”中的每个元素(包括整数元素)编写子脚本。
换言之,您的代码正在有效地执行:
print [1,2][0] print [5,3][0] print 5[0] print [5,6][0] print [2,2][0]
它执行“5[0]”的中间线就是产生错误的原因。
您正在尝试查找int的数组下标:
>>> 1[0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is unsubscriptable
也就是说,方括号[]是下标运算符。如果尝试将下标运算符应用于不支持它的对象(例如不实现__getitem__())。
[]
__getitem__()
这意味着您尝试将整数作为数组处理。例如:
a = 1337 b = [1,3,3,7] print b[0] # prints 1 print a[0] # raises your exception
示例代码中的问题是数组“a”包含两种不同的类型:它有4个2元素列表和一个整数。然后尝试为“a”中的每个元素(包括整数元素)编写子脚本。
换言之,您的代码正在有效地执行:
它执行“5[0]”的中间线就是产生错误的原因。
您正在尝试查找int的数组下标:
也就是说,方括号
[]
是下标运算符。如果尝试将下标运算符应用于不支持它的对象(例如不实现__getitem__()
)。这意味着您尝试将整数作为数组处理。例如:
相关问题 更多 >
编程相关推荐