Skip to main content
 首页 » 编程设计

Python:使用get()后出现关键错误

2025年05月04日30tintown

我这里有一个代码,它计算一行中以“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 

谢谢。

请您参考如下方法:

d[x[1]] = d.get(d[x[1]],0) + 1 

我觉得这条线不对。如果您尝试增加 d[x[1]],如果它不存在则将其初始化为零,请执行以下操作:

d[x[1]] = d.get(x[1],0) + 1 

... 或者只使用 defaultdict 或 Counter,它们默认执行初始化,你可以只做 d[x[1]] += 1。