python:返回列表中每个元素的长度的函数给出错误

时间:2017-11-25 18:25:27

标签: 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

2 个答案:

答案 0 :(得分:1)

您正在调用您的函数错误。方括号[]__getitem__的简写(lenli没有)。括号()是您想要的__call__的简写。

简而言之:输入lenli(ab)

答案 1 :(得分:1)

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