开发者社区> 问答> 正文

统计一个文本中单词频次最高的10个单词?

统计一个文本中单词频次最高的10个单词?

展开
收起
珍宝珠 2019-11-11 11:32:45 2928 0
1 条回答
写回答
取消 提交回答
  • import re
    
    # 方法一
    def test(filepath):
        
        distone = {}
    
        with open(filepath) as f:
            for line in f:
                line = re.sub("\W+", " ", line)
                lineone = line.split()
                for keyone in lineone:
                    if not distone.get(keyone):
                        distone[keyone] = 1
                    else:
                        distone[keyone] += 1
        num_ten = sorted(distone.items(), key=lambda x:x[1], reverse=True)[:10]
        num_ten =[x[0] for x in num_ten]
        return num_ten
        
     
    # 方法二 
    # 使用 built-in 的 Counter 里面的 most_common
    import re
    from collections import Counter
    
    
    def test2(filepath):
        with open(filepath) as f:
            return list(map(lambda c: c[0], Counter(re.sub("\W+", " ", f.read()).split()).most_common(10)))
    
    2019-11-11 13:14:56
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载