请在下面的代码中告诉我错误的原因。
def lenli(ab):
results=[]
for a in ab:
results.append(len(a))
return results
显示错误
TypeError Traceback (most recent call last)
<ipython-input-69-8e23c7ef98a0> in <module>()
----> 1 lenli[ab]
TypeError: 'function' object has no attribute '__getitem__'
感谢 sindia
答案 0 :(得分:1)
您正在调用您的函数错误。方括号[]
是__getitem__
的简写(lenli
没有)。括号()
是您想要的__call__
的简写。
简而言之:输入lenli(ab)
。
答案 1 :(得分:1)
问题不在于您所显示的代码中,而是在调用它的代码中。使用括号setValue
调用函数,而不是方括号。