【发布时间】:2012-04-17 05:38:51
【问题描述】:
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 。我确定这是一个天真的错误,但我不知何故错过了它。有什么建议? :)
【问题讨论】:
-
"有什么建议吗?"写一个展示问题的最小示例。
-
“打印每个单词的二元计数”是什么意思?您能否提供一个示例 new.txt 以及输出应该是什么?
-
“this 代码哪里错了”是一个过于本地化的问题,不太可能帮助任何未来的访问者。
-
您可能想检查sscce.org。
-
Traceback (most recent call last): File "/Users/yanwchan/Documents/test.py", line 14, in <module> for k in dict.items(): RuntimeError: dictionary changed size during iteration我不太确定 OP 到底想做什么......你能提供一些关于你的问题的信息吗?
标签: python dictionary nlp