什么是可订阅的?

时间:2013-11-22 04:06:02

标签: python

exxy = ['mix', 'xyz', 'aardvark', 'xanadu', 'apple']

pleasework = []
ten = []

for s in exxy:
    if s[0] == 'x':
        pleasework.insert[0, s]
    else:
        ten.append[s]

pleasework.sort()
ten.sort()

pleasework.append(ten)

print pleasework

我一直收到一条错误消息,指出该对象不是可订阅的。

Traceback (most recent call last):
  File "/Users/jerrywalker/Desktop/CompSci/Programming/Programming_Resources/Python/idle.py", line 10, in <module>
    ten.append[s]
TypeError: 'builtin_function_or_method' object is not subscriptable

我不确定这意味着什么。我昨天刚刚开始使用Python ......我确信代码中的某些东西我做得不对,因为即使我更改了变量的名称也是一样的。

2 个答案:

答案 0 :(得分:3)

您已使用错误的语法定义了两行:

不应该是:

pleasework.insert[0, s]
ten.append[s]

而是:

pleasework.insert(0, s)
ten.append(s)

ten.append(s)是一种列表方法,您无法尝试获取s的元素ten.append(s)

即使假设您尝试执行ten[s]之类的操作,它仍会返回错误,因为s必须是元素的索引(这是一个整数)你想要

答案 1 :(得分:2)

&#34;标化的&#34;意味着您正在尝试访问该对象的元素。在以下内容中:

ten.append[s]

您尝试访问s的元素ten.append。由于您希望将其称为函数/方法,因此需要使用parens:

ten.append(s)