统计一个文本中单词频次最高的10个单词?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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

珍宝珠 2019-11-11 11:32:45 297

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

分享到
取消 提交回答
全部回答(1)
  • 珍宝珠
    2019-11-11 13:14:56
    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)))
    
    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

相似问题