zoukankan      html  css  js  c++  java
  • Python collections.Counter()


    1、问题

    找出一个序列中出现次数最多的元素。



    2、解决方案

    collections.Counter 类中的 most_commom() 方法直接给出答案。

    from collections import Counter
    
    words = ['look', 'into', 'my', 'look', 'into', 'look', 'eyes']
    word_counts = Counter(words)
    top_three = word_counts.most_common(3)      # 出现频率最高的三个单词
    print(top_three)
    
    

    输出:

    [('look', 3), ('into', 2), ('my', 1)]
    


    3、讨论

    Counter 对象可以接受任意由可哈希(hashable)元素构成的序列对象。

    在底层实现上,一个 Counter对象就是一个字典,将元素映射到它出现的次数上。

    print(word_counts['look'])      # 3
    

    手动增加计数:

    words = ['look', 'into', 'my', 'look', 'into', 'look', 'eyes']
    word_counts = Counter(words)
    for word in words:
        word_counts[word] += 1
    print(word_counts)
    

    输出:

    Counter({'look': 6, 'into': 4, 'my': 2, 'eyes': 2})
    

    Counter 对象可以进行数学运算。

    words = ['look', 'into', 'my', 'look', 'into', 'look', 'eyes']
    word_counts = Counter(words)
    a = word_counts + word_counts
    print(a)
    

    输出:

    Counter({'look': 6, 'into': 4, 'my': 2, 'eyes': 2})
    
  • 相关阅读:
    python剑指网络篇二
    使用sklean进行多分类下的二分类
    virtualenv下使用matplotlib
    谱聚类python实践
    K均值算法-python实现
    python使用hbase
    php运算符
    php常量
    php数据类型
    git,版本控制教程
  • 原文地址:https://www.cnblogs.com/keye/p/15628066.html
Copyright © 2011-2022 走看看