2017-11-25 4 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)in a ab]'も考慮してください。 – grovina

答えて

1

を示しています。角括弧[]__getitem__の略語です(lenliはありません)。括弧()は、__call__の省略形です。

要約:lenli(ab)と入力してください。

1

問題は表示されたコードではなく、それを呼び出すコードにあります。関数は角括弧ではなく、かっこ(())で呼び出されます。

関連する問題