前提・実現したいこと
オライリー本の『入門 自然言語処理』を読んでいます。
サンプルコードとして本に載っている下記のコードがうまく動かないのですが、回避する方法はあるのでしょうか???
(もしくはNLTKで頻度分布を得るサンプルコードなどご教授いただければ幸いです。。)
発生している問題・エラーメッセージ
File "/Users/userId/Desktop/021_入門自然言語処理_練習コード/1_3_1.py", line 8, in <module> print(vocabulary1[:50]) TypeError: 'dict_keys' object is not subscriptable
該当のソースコード
python
1from nltk.book import * 2import nltk 3 4fdist1 = nltk.FreqDist(text1) 5 6vocabulary1 = fdist1.keys() 7print(vocabulary1[:50]) 8 9print(fdist1['while']) 10
試したこと
vocabulary1の型をみてみると'dict_keys'というクラスでした。
スライスせずprintしてみると、
dict_keys(['Call', 'me', 'Ishmael', '.'])
こんな感じで表示されます(早い話がリスト形式ではないみたいです)。
(入門自然言語処理も2011年発行なので情報が古くなっているということなのでしょうか。)
補足情報(FW/ツールのバージョンなど)
mac OS High Sierra 10.13.4
Python 3.6.3 :: Anaconda, Inc.
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/04/24 02:06
退会済みユーザー
2018/04/24 02:07