作业帮 > 综合 > 作业

python统计个单词数目

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 05:11:22
python统计个单词数目
要求是get_word_frequencies(file_name) 打开了FILE NAME这文件后运用dictionary统计出文章中各单词的数目 效果如下:
{'all':1,'forget':1,'-':3,'years':1,'proposition':1,'continent':1,'liberty,':1,'We':2,...
PS:‘-’这种不属于单词的东西不要统计在内
楼上的程序存在诸多问题,如没有处理标点,文件读取方法错误等.
请问楼主要区分大小写吗?如果区分的话,就按照下面的来:
import re
def get_word_frequencies(file_name):
\x09dic = {}
\x09txt = open(filename, 'r').read().splitlines()
\x09#下面这句替换了除了'-'外的所有标点,因为'-'可能存在于单词中.
\x09txt = re.sub(r'[^\u4e00-\u94a5\w\d\-]', ' ', txt)
\x09#替换单独的'-'
\x09txt = re.sub(r' - ', ' ', txt)
\x09for line in :
\x09\x09for word in line.split():
\x09\x09#如果不区分大小写,那就一律按照小写处理,下面那句改为dic.setdefault(word.lower(), 0)
\x09\x09\x09dic.setdefault(word, 0)
\x09\x09\x09dic[word] += 1
\x09print dic
\x09
if __name__ = '__main__':
\x09get_word_frequencies('test.txt')
有问题继续追问吧