python练习册-第0004题

2018-01-14  本文已影响8人  RJzz

Description

任一个英文的纯文本文件,统计其中的单词出现的个数。

Analysis

查阅了资料后发现python有个collections的模块可以对单词进行统计,主要是用到了Counter这个类

Solution

# -*- coding: utf-8 -*-
from collections import Counter
import re

def cal():
    with open('./test.txt', 'r', encoding='utf-8') as f:
        data = f.read()
    data = data.lower()
    # 使用正则表达式子去掉式子中的\n字符
    datalist = re.split(r'[\s\n]+', data)
    # 将list用Counter初始化
    return Counter(datalist).most_common()

if __name__ == '__main__':
    dict = cal()
    # 返回的列表中的每个元素都是一个字典,第一个元素是单词,第二个元素是出现的次数
    for i in range(len(dict)):
        print("%15s ----->%3s" %(dict[i][0], dict[i][1]))
上一篇下一篇

猜你喜欢

热点阅读