Python取消订阅

2024-04-27 21:44:15 发布

您现在位置:Python中文网/ 问答频道 /正文

在TypeError上下文中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

Tags: 代码in编辑示例forobjectisint
3条回答

示例代码中的问题是数组“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__())。

这意味着您尝试将整数作为数组处理。例如:

a = 1337
b = [1,3,3,7]
print b[0] # prints 1
print a[0] # raises your exception

相关问题 更多 >