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 ......我确信代码中的某些东西我做得不对,因为即使我更改了变量的名称也是一样的。
答案 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)