web-dev-qa-db-ja.com

TypeError:リストにアクセスしようとしているときに「リスト」オブジェクトを呼び出すことはできません

リストのリストがあるところでこのコードを実行しようとしています。内部リストに追加する必要がありますが、エラーが発生します

TypeError: 'list' object is not callable.

誰も私がここで間違っていることを教えてもらえますか?.

def createlists():
    global maxchar
    global minchar
    global worddict
    global wordlists

    for i in range(minchar, maxchar + 1):
        wordlists.insert(i, list())
    #add data to list now
    for words in worddict.keys():
        print words
        print  wordlists(len(words)) # <--- Error here.
        (wordlists(len(words))).append(words)  # <-- Error here too
        print "adding Word " + words + " at " + str(wordlists(len(words)))
    print wordlists(5)
51
user487257

リストの要素にアクセスするには、括弧([])ではなく、角括弧(())を使用する必要があります。

の代わりに:

print  wordlists(len(words))

あなたが使用する必要があります:

print worldlists[len(words)]

そして代わりに:

(wordlists(len(words))).append(words)

あなたが使用する必要があります:

worldlists[len(words)].append(words)
65
orlp

wordlistsは関数ではなく、リストです。ブラケット添え字が必要です

print  wordlists[len(words)]
7
eat_a_lemon

リストの要素を取得するには、list(i)の代わりにlist[i]を使用する必要があります。

7
Ikke

リストとして分類された別の変数と同じ名前の関数を呼び出したときにもエラーが発生しました。

命名を整理すると、エラーは解決されました。

5
MonkeyWrench

wordlists[len(words)]を試してください。 ()は関数呼び出しです。 wordlists(..)を実行すると、pythonは、wordlistsと呼ばれるlistという関数を呼び出していると考えます。したがって、エラー。

3

ここでwordlistsを呼び出そうとしています:

print  wordlists(len(words)) <--- Error here.

試してください:

print wordlists[len(words)]
3
samplebias

私も同じエラーを受け取りましたが、解決しました、仕事で多くのリストを使用していたので、カーネルを再起動しました(つまり、JupyterやGoogle Colabなどのノートブックを使用している場合は、すべてのセルを再起動してもう一度実行できます、これを行うことで問題が解決され、エラーが消えます。

ありがとう

0
Tanu

プログラムを保存したファイル名を確認してください。ファイル名がwordlistsの場合、エラーが発生します。ファイル名は、プログラムで使用するメソッド{関数}と同じであってはなりません。

0
Vinod Kumar