我正在运行下面的代码来计算一个单词在文本文件中出现的次数。
def print_words(filename):
f = open(filename, 'rU')
dict={}
for line in f:
words=line.split()
for word in words:
if dict.get(word):
dict[word]=dict[word]+1
else:
dict[word]=1
ke = sorted(dict.keys())
for k, v in ke: print k, v字典文件应该保存每个单词及其计数。我能够让它工作得很好。但是我没能对
发布于 2012-10-24 05:42:50
对于2.5和2.6兼容的解决方案,请使用defaultdict
from collections import defaultdict
counter = defaultdict(int)
for word in f.read().split():
counter[word] += 1这将返回一个字典(实际上是一个子类,但使用方法相同),您可以在其中只查找counter['someword'] (它返回一个整数)。
它的工作原理:如果请求的键不存在,则使用给定函数的返回值创建它。在本例中为int(),即0。另请参阅上面链接的文档中的示例部分。
https://stackoverflow.com/questions/13038810
复制相似问题