每天一个小程序—0004题(统计单词出现次数)
2018-01-13 22:34
441 查看
第 0004 题: 任一个英文的纯文本文件,统计其中的单词出现的个数。
先给出我一开始写得,只能说非常不优美,一个一个字符搞得。。。
第二次看了网上的,开始尝试用正则表达式来搞:
最后就是python自带的collections模块,里面有Counter计数器函数,可以自动统计单词出现次数。
可以先用个例子来了解一下Counter:
结果为:
代码很简洁,如下:
先给出我一开始写得,只能说非常不优美,一个一个字符搞得。。。
f = open('num.txt') word = [] word_num = {} char = f.read(1) while char: if char == ' ' or char == '\n': if word: word = ''.join(word).lower() #转成小写 if word in word_num: word_num[word] += 1 else: word_num[word] = 1 word = [] else: word.append(char) char = f.read(1) if word: word = ''.join(word).lower() if word in word_num: word_num[word] += 1 else: word_num[word] = 1 word = [] for i,j in word_num.items(): print(i,j)
第二次看了网上的,开始尝试用正则表达式来搞:
import re f = open('num.txt') word_list = [] reg = '\w+' #/w是匹配字母、数字、下划线 for line in f: word = re.findall(reg, line) #也可以是word = line.split() word_list.extend(word) word_set = set(word_list) word_dict = {word: word_list.count(word) for word in word_set} for i, j in word_dict.items(): print(i, j)
最后就是python自带的collections模块,里面有Counter计数器函数,可以自动统计单词出现次数。
可以先用个例子来了解一下Counter:
from collections import Counter word_list = ['I', 'am', 'zyb', 'zyb'] ans = Counter(word_list) print(ans)
结果为:
代码很简洁,如下:
import re from collections import Counter f = open('num.txt') word_list = [] for line in f: word = line.split() word_list.extend(word) word_dict = dict(Counter(word_list)) for i, j in word_dict.items(): print(i, j)
相关文章推荐
- 意外收获-ruby编写的一个简单统计单词出现次数的程序
- go语言之map练习(二):编写一个程序wordfreq程序,统计输入文本中每个单词出现的频率(次数)
- 练习2-4:编一个程序统计文件中特定单词出现的次数(要求使用string类的运算符==来查找单词)
- 每天一个小程序之python实现统计英文单词出现个数
- 每天一个python小程序 004:任一个英文的纯文本文件,统计其中的单词出现的个数
- 练习2-4:编一个程序统计文件中特定单词出现的次数(要求使用string类的运算符==来查找单词) .
- 每天一个小程序——第 0004 题:任一个英文的纯文本文件,统计其中的单词出现的个数
- 一个利用map统计一段英文文章中每个单词出现次数的小程序
- 一个文本文件统计各个单词出现的频率最高的10个词以及次数
- 统计一个大小为30kb~300kb的文本中各单词出现的频率,并输出前十个单词和进行程序性能分析
- 编写一个程序统计输入字符串中: 各个数字、空白字符、以及其他所有字符出现的次数
- C语言:编写一个程序统计输入字符串中,各个数字、空白字符、以及其他所有字符出现的次数。
- 【C语言】编写一个程序统计输入字符串中: 各个数字、空白字符、以及其他所有字符出现的次数。
- 练习 6-4 编写一个程序,根据单词的出现频率按降序打印输入的各个不同单词,并在 每个单词的前面标上它的出现次数
- 编写一个脚本,统计log文件中首个单词出现的次数
- 第 0004 题:任一个英文的纯文本文件,统计其中的单词出现的个数。
- Java 统计一个字符串中每个单词,或者字母出现的次数
- C语言:编写一个程序统计输入字符串中,各个数字、空白字符、以及其他所有字符出现的次数。
- wc:统计一个文件里出现某个单词出现的次数
- 第 0004 题: 任一个英文的纯文本文件,统计其中的单词出现的个数