Show me the code_0006题

0006题:你有一个目录,放了你一个月的日记,都是txt,为了避免分词的问题,假设内容都是英文,请统计出你认为每篇日记最重要的词。

解题思路:可以用刚写的另一篇文章collections库里面的一些方法,比如Counter()most_common()
代码如下:

#! /usr/bin/env python
#coding=utf-8
import os
import re
from collections import Counter

def get_filepaths(directory):
    file_paths = []
    for root, directories, files in os.walk(directory):
        for filename in files:
            filepath = os.path.join(root, filename)
            file_paths.append(filepath)
            
    return file_paths

def counter_more_words(li):
    word_dict = Counter(li)
    return [i[0] for i in word_dict.most_common()[:10]]

if __name__ == '__main__':
    for file in get_filepaths(r'C:\diaries'):
        with open(file, 'r') as f:
            word_li = re.findall("\w+", f.read())
            print " ".join(counter_more_words(word_li))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,001评论 19 139
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,779评论 0 33
  • 晨风说,邋遢的姑娘又来了,你几天没洗头了 旁边的简乐,嗑着五香瓜子,滑溜溜的脑袋像颗呆瓜似的点了三下。 他点的时候...
    师傅喊我去修心阅读 365评论 0 0
  • 把贴吧当做商品拿来卖已经不是什么稀奇事了,现在的贴吧只有两种,一种是兴趣吧,而另一种则是被企业买断收购的企业吧。只...
    形之上学阅读 2,970评论 0 0
  • ‌真的冷战了,我们彼此不说话,我狠心的不和他说话。他也没有来哄我。只是感觉自己的心有点痛,我真的不知道怎么办?也许...
    浅梦时光阅读 288评论 0 0