哪些类型的对象属于“下标”的领域?
当前回答
它基本上意味着该对象实现了__getitem__()方法。换句话说,它描述的对象是“容器”,这意味着它们包含其他对象。这包括字符串、列表、元组和字典。
其他回答
下标在计算中的含义是: 在程序中单独或与其他符号一起用于指定数组中的一个元素的符号(名义上写为下标,但实际上通常不是)。
现在,在@user2194711给出的简单示例中,我们可以看到附加元素不能成为列表的一部分,因为两个原因:-
1)我们并没有真正调用append方法;因为它需要()来调用它。
2)错误指示函数或方法是不可下标的;意味着它们不像列表或序列那样是可索引的。
现在看这个:-
>>> var = "myString"
>>> def foo(): return 0
...
>>> var[3]
't'
>>> foo[3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'function' object is not subscriptable
这意味着函数中没有下标或者元素,就像它们出现在序列中一样;而且我们无法像我们这样通过[]的帮助来访问它们。
也;正如米帕第在回答中所说的;它基本上意味着该对象实现了__getitem__()方法。(如果它是下标的)。 因此产生了以下错误:
arr.append["HI"]
'builtin_function_or_method'对象不可下标
它基本上意味着该对象实现了__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__的类都是可下标的
我也有同样的问题。我在做
arr = []
arr.append["HI"]
所以使用[会导致错误。它应该是arr.append("HI")
推荐文章
- 证书验证失败:无法获得本地颁发者证书
- 当使用pip3安装包时,“Python中的ssl模块不可用”
- 无法切换Python与pyenv
- Python if not == vs if !=
- 如何从scikit-learn决策树中提取决策规则?
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 将旋转的xtick标签与各自的xtick对齐
- 为什么元组可以包含可变项?
- 如何合并字典的字典?
- 如何创建类属性?
- 数据挖掘中分类和聚类的区别?
- 不区分大小写的“in”
- 在Python中获取迭代器中的元素个数
- 解析日期字符串并更改格式
- 使用try和。Python中的if