【发布时间】:2016-03-17 19:20:10
【问题描述】:
我在这里有一个代码,它计算以“From”开头的一行中相似的第二个单词的数量,找出哪个单词出现的最大次数,并打印该单词及其频率。
在使用 get 方法的行中,我得到一个关键错误:(在此处插入第二个单词)。这个关键错误发生在第一句本身并且循环不会迭代。我完全不知道为什么会这样。
name = raw_input("Enter file:")
fh = open(name)
d=dict()
max=0
key=''
for line in fh:
line=line.rstrip()
if line.startswith('From '):
x=line.split()
d[x[1]] = d.get(d[x[1]],0) + 1
for z in d:
if d[z]>max:
max=d[z]
key = z
print key, max
谢谢。
【问题讨论】:
-
错误来自get调用中的
d[x[1]] -
如果你写
from_, name, rest = line.split(None, 2)之类的东西而不是使用x作为原始元组,代码会更容易阅读(我怀疑错误会跳出来)。