单词直方图-三菱数控指导手册api

时间:2024-07-03 00:32:36
【文件属性】:

文件名称:单词直方图-三菱数控指导手册api

文件大小:1.91MB

文件格式:PDF

更新时间:2024-07-03 00:32:36

python

13.3 单词直方图 在继续下面的习题之前,你应该尝试完成前面的练习。你可以下载我的答案。你还需 要下载这个文件。下面这个程序将读取一个文件,并建立文件中单词的直方图:� import string def process_file(filename): hist = dict() fp = open(filename) for line in fp: process_line(line , hist) return hist def process_line(line , hist): line = line.replace('−', '␣') for word in line.split(): word = word.strip(string.punctuation + string.whitespace) word = word.lower() hist[word] = hist.get(word , 0) + 1 hist = process_file('emma.txt') � 该程序读取 emma.txt,其包括 Jane Austen的小说《Emma》文本。 process_file循环读取文件的每行,依次把它们传递给 process_line。直方图 hist被用作 一个累加器。 process_line使用字符串的 replace方法将连字符替换成空格。它会遍历单词列表,并使 用 strip和 lower来删除标点以及将单词转换为小写。(‘‘转换”只是一种简略的说法;记 住,字符串是不可变的,所以类似 strip和 lower这样的方法其实返回的是新字符串。) 最后,process_line通过生成一个新的项或者递增一个已有的项来更新直方 我们可以通过累加直方图中的频率,来统计文件中的单词总数:� def total_words(hist): return sum(hist.values ()) � 不同单词的数量恰好是词典中项的数目:� def different_words(hist): return len(hist) � 以下打印结果的代码:� print('Total␣number␣of␣words:', total_words(hist)) print('Number␣of␣different␣words:', different_words(hist)) �


网友评论