NLTK python 错误:“TypeError:‘dict_keys’对象不可下标”

2024-02-10

我正在按照课堂作业的说明进行操作,并且应该在文本文件中查找最常用的 200 个单词。

这是代码的最后一部分:

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

但是当我在 vocab 200 行后按 Enter 时,它返回:

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

关于如何解决此问题以便正确返回答案有什么建议吗?


看起来你正在使用 Python 3。在 Python 3 中dict.keys()返回一个可迭代但不可索引的对象。最简单(但不是那么有效)的解决方案是:

vocab = list(fdist1.keys())[:200]

在某些情况下,需要继续使用迭代器对象而不是列表。这可以通过以下方式完成itertools.islice():

import itertools
vocab_iterator = itertools.islice(fdist1.keys(), 200)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NLTK python 错误:“TypeError:‘dict_keys’对象不可下标” 的相关文章

随机推荐