1. ホーム
  2. python

[解決済み] NLTK pythonのエラーです。"TypeError: 'dict_keys' object is not subscriptable."

2023-06-01 13:10:50

質問

私はクラスの宿題の指示に従い、テキストファイルで最も頻繁に使われる上位200の単語を調べることになっています。

これがコードの最後の部分です。

fdist1 = FreqDist(NSmyText)
vocab=fdist1.keys()
vocab[:200]

しかし、ボキャブラリー200の行の後にエンターキーを押すと、戻ってしまうのです。

 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
TypeError: 'dict_keys' object is not subscriptable

これを修正し、正しく答えを返せるようにする方法について、何か提案はありますか?

どのように解決するのですか?

Python3を使っているようですね。Python3では dict.keys() は反復可能なオブジェクトを返しますが、インデックス可能なオブジェクトではありません。最もシンプルな(しかしあまり効率的でない)解決策は、次のようになります。

vocab = list(fdist1.keys())