2017-11-25 83 views
0

请让我知道下面的代码中的错误原因。python:函数返回列表中每个元素的长度给出错误

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

你的实施是好的。你似乎在调用你的函数'function [ab]',而它应该是'function(ab)'。 – grovina

+0

另请考虑'ab_len = [len(a)for a ab]'。 – grovina

回答

1

要调用的功能失常。方括号[]__getitem__(其中lenli不具备)的简写。圆括号()是你想要的__call__的简写。

总之:类型lenli(ab)

1

问题不在于您显示的代码中,而是在调用它的代码中。函数被调用括号(),而不是方括号。

相关问题