我想使用字典统计文件中每个单词的出现次数(文件中包含的所有单词均为小写且文件不包含任何标点符号)。
我想优化我的代码,因为我知道该列表花费了不必要的时间。
def create_dictionary(filename):
d = {}
flat_list = []
with open(filename,"r") as fin:
for line in fin:
for word in line.split():
flat_list.append(word)
for i in flat_list:
if d.get(i,0) == 0:
d[i] = 1
else :
d[i] +=1
return d
例如,一个文件包含:
i go to the market to buy some things to
eat and drink because i want
to eat and drink
应该返回:
{'i': 2, 'go': 1, 'to': 4, 'the': 1, 'market': 1, 'buy': 1, 'some': 1, 'things': 1, 'eat': 2, 'and': 2, 'drink': 2, 'because': 1, 'want': 1}
我可以改进什么?
最佳答案
只需使用collections.Counter
:
with open(filename,"r") as fin:
print(Counter(fin.read().split()))
关于python - 统计文件中单词的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59661586/