2024-05-14 17:08:24 发布
网友
我正在尝试使用FreqDist,它是Python中NLTK的一部分。 我试过这个示例代码:
fdist1 = FreqDist(text1) vocabulary1 = fdist1.keys() vocabulary1[:50]
但最后一行给了我一个错误:
TypeError: 'map' object is not subscriptable
我认为代码在Python2上运行良好,但在Python3上(我有)出现了上述错误。
为什么会出现这个错误,如何解决?我很感激你的帮助。
在Python 3中,.keys()返回一个迭代器,不能对其进行切片。在切片之前将其转换为列表。
.keys()
fdist1 = FreqDist(text1) vocabulary1 = fdist1.keys() x = list(vocabulary1)[:50] # or... vocabulary1 = list(fdist1.keys()) x = vocabulary1[:50]
必须先将其转换为列表:
new_vocab= list(vocabulary1) ...= new_vocab[:50]
在Python 3中,
.keys()
返回一个迭代器,不能对其进行切片。在切片之前将其转换为列表。必须先将其转换为列表:
相关问题 更多 >
编程相关推荐