这应该是一个简单的问题,但我无法理解它。我有一本字典,叫TD
. 的{key1{key2:values}}TD
是{1:{u'word':3, u'next':2, u'the':2},2:{...}...}
wherekey1
是文档,key2
是文档中的一个词,是该词在文档value
中出现的次数,使用该Counter
方法获得。
我有大量文档,因此每个文档在 TD 中都有一个条目:
TD = {1:{u'word':2, u'next':1, u'the':5,...},
2:{u'my':4, u'you':1, u'other':2,...},
...
168:{u'word':1, u'person':1, u'and':8,...}}
我现在要做的是检查每个单词{1{...}}
以查看它是否出现在其他文档中,并对每个文档重复此过程。对于每个文档中出现的单词,freq
增加 1。我有一个名为的新字典Score
,应该如下所示:
{1:{u'word':score, u'next':score,...}, 2:{u'my':score, u'you':score,...}...}
要获取此字典:
Score={}
count = 0
for x,i in TD[count].iteritems():
freq=1
num=1
for y in TD[num].keys():
if word in TF[num].keys():
freq+=1
num+=1
Score[num]={x:(i*freq)}
num+=1
这给了我以下输出:
{1:{u'word':score}, 2:{u'next':score}, 3:{u'the':score}...}
应该:
{1:{u'word':score, u'next':score, u'the':score,...}...}
我认为问题出在线路上Score[num]={x:(i*freq)}