我正在按照课堂作业的指示进行操作,我应该在文本文件中查找前200个最常用的单词.
这是代码的最后一部分:
fdist1 = FreqDist(NSmyText)
vocab=fdist1.keys()
vocab[:200]
Run Code Online (Sandbox Code Playgroud)
但是当我在词汇200行后按Enter键时,它返回:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'dict_keys' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)
有关如何解决此问题的任何建议,以便它可以正确地返回答案?非常感谢任何帮助:)谢谢
Kla*_* D. 54
看起来你正在使用Python 3.在Python 3中dict.keys()返回一个可迭代但不可索引的对象.最简单(但不那么有效)的解决方案是:
vocab = list(fdist1.keys())
Run Code Online (Sandbox Code Playgroud)
小智 7
我正在使用python 3.5,我遇到了同样的问题 TypeError.
使用vocab = list(fdist1.keys())不会给我前50个最常用的单词.
但是fdist1.most_common(50).
此外,如果您只想显示前50个单词而不是频率,您可以尝试:
[word for (word, freq) in fdist1.most_common(50)]
| 归档时间: |
|
| 查看次数: |
36864 次 |
| 最近记录: |