哪些类型的对象属于“下标”的领域?


当前回答

它基本上意味着该对象实现了__getitem__()方法。换句话说,它描述的对象是“容器”,这意味着它们包含其他对象。这包括字符串、列表、元组和字典。

其他回答

基本上,如果你在上述对象的类型转换之后修改或添加任何字段,而不是在之前修改或添加任何字段,就会出现这个错误。

我也有同样的问题。我在做

arr = []
arr.append["HI"]

所以使用[会导致错误。它应该是arr.append("HI")

它基本上意味着该对象实现了__getitem__()方法。换句话说,它描述的对象是“容器”,这意味着它们包含其他对象。这包括字符串、列表、元组和字典。

可脚本对象是记录对其进行的操作的对象,它可以将这些操作存储为可以重播的“脚本”。

例如,请参见:应用程序脚本框架

现在,如果Alistair不知道他问的是什么,真正的意思是“下标”对象(由其他人编辑),那么(正如mipadi也回答的那样)这是正确的:

下标对象是任何实现__getitem__特殊方法的对象(比如列表、字典)。

在我的脑海中,以下是唯一可下标的内置:

string:  "foobar"[3] == "b"
tuple:   (1,2,3,4)[3] == 4
list:    [1,2,3,4][3] == 4
dict:    {"a":1, "b":2, "c":3}["c"] == 3

但是mipadi的答案是正确的-任何实现__getitem__的类都是可下标的