f=open('new.txt')
var=f.read()
var=var.lower()
var = var.replace(';','')
var = var.replace(',','')
var = var.replace('.','')
x=var.split()
dict={}
dictList=[]
dict2={}
for i in xrange(0,len(x)-1):
if dict.items():
for k in dict.items():
if x[i] not in k:
dict[x[i]]=dict2
dict2[x[i+1]]=1
else:
if dict[x[i]].keys():
if x[i+1] in dict[x[i]].keys():
dict[x[i]][x[i+1]]+=1
else:
dict[x[i]][x[i+1]]=1
else:
dict[x[i]][x[i+1]]=1
else:
dict[x[i]]=dict2
dict2[x[i+1]]=1
print dict
此代码必须打印每个单词的二元组计数。我很确定我不恰当地实例化了dict2。我确定这是一个天真的错误,但我不知何故错过了它。有什么建议? :)
答案 0 :(得分:2)
如果我必须重构此代码,我会查看:
dict
这样的名字告诉编码器/维护者什么都没有。 dict
和dict2
之间有什么区别?你今天可能知道,但明天......也许不是