我最近开发了一个Python程序,它可以根据某个文档中的术语生成倒排索引。我现在想创建职位公告,例如
to, 993427:
⟨ 1, 6: ⟨7, 18, 33, 72, 86, 231⟩;
2, 5: ⟨1, 17, 74, 222, 255⟩; 4, 5: ⟨8, 16, 190, 429, 433⟩; 5, 2: ⟨363, 367⟩;
7, 3: ⟨13, 23, 191⟩; …⟩
我只想实现上面描述的功能,我不知道。在
^{pr2}$这是到目前为止我所拥有的,唯一的新功能是getWordBins函数和循环:
txt = readIn(fileList)
posWord = getWordBins(txt)
for key, value in posWord.most_common(topWords):
print key, value
现在,当我尝试运行代码时会发生以下情况:
Traceback (most recent call last):
File "Intro3.py", line 82, in <module>
main(sys.argv, sys.argv)
File "Intro3.py", line 60, in main
posWord = getWordBins(txt)
File "Intro3.py", line 41, in getWordBins
cnt[posOfWords] += 1
TypeError: unhashable type: 'dict'
任何有这种令人不安的错误的指导都是乐意接受的。这不是字典,为什么会出错呢? 谢谢你的时间!在
你在做什么:
我想你的意思是:
^{pr2}$readin函数还返回dict和set,因此您的txt变量是一个元组(
dict
,set
)因此,您的问题归结为试图使用一个包含dict作为键的元组(我怀疑这是您的意图)。它对
cnt[word] += 1
不起作用,因为它仍然试图使用dict作为键。您可能需要这样做:然后这可能会奏效:
^{pr2}$相关问题 更多 >
编程相关推荐