发布网友 发布时间:2022-04-23 10:12
共1个回答
热心网友 时间:2023-08-16 20:21
楼上的程序存在诸多问题,如没有处理标点,文件读取方法错误等。请问楼主要区分大小写吗?如果区分的话,就按照下面的来: import re def get_word_frequencies(file_name): dic = {} txt = open(filename, 'r').read().splitlines() #下面这句替换了除了'-'外的所有标点,因为'-'可能存在于单词中。 txt = re.sub(r'[^\u4e00-\u94a5\w\d\-]', ' ', txt) #替换单独的'-' txt = re.sub(r' - ', ' ', txt) for line in : for word in line.split(): #如果不区分大小写,那就一律按照小写处理,下面那句改为dic.setdefault(word.lower(), 0) dic.setdefault(word, 0) dic[word] += 1 print dic if __name__ = '__main__': get_word_frequencies('test.txt') 有问题继续追问吧