NLTK python error: "TypeError: 'dict_keys' object is not subscriptable" NLTK python error: "TypeError: 'dict_keys' object is not subscriptable" python python

NLTK python error: "TypeError: 'dict_keys' object is not subscriptable"


Looks like you are using Python 3. In Python 3 dict.keys() returns an iterable but not indexable object. The most simple (but not so efficient) solution would be:

vocab = list(fdist1.keys())


I am using python 3.5 and I meet the same problem of TypeError.

Using vocab = list(fdist1.keys()) does not give me the top 50 most frequently used words.
But fdist1.most_common(50) does.

Further,if you just want to show those top 50 words not with their frequency,you can try :

[word for (word, freq) in fdist1.most_common(50)]


To print the most frequently used 200 words use: fdist1.most_common(200)The above line of code will return the 200 most frequently used words as key-frequency pair.