我是靠谱客的博主 整齐小白菜,最近开发中收集的这篇文章主要介绍python找出序列中出现次数最多的元素之Counter对象,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

解决此类问题我们将用到collections模块中的Counter类,并直接调用Counter类的most_common()方法或得答案。
用下面的例子来讲解具体用法:

基本用法

from collections import Counter
#首先导入Counter类
lst=['this','is','a','test','just','a','test','you','shoud','believe','in','this','me','just','a','test','a','test','a','test']
#构建一个列表
word_count=Counter(lst)
#首先对列表的元素进行一次统计
top_three=word_count.most_common(3)
#调用most_common方法找出最多的元素
print(top_three)
#输出结果[('test', 5), ('a', 5), ('just', 2)]

增加计数

    morewords=['why','are','you','not','looking','at','my','eyes','this','really','nothing','just','a','pity']
    #构建另一个列表
    #手动增加
    for word in morewords:
        word_count[word]+=1

    #或者调用update方法直接增加计数,效果一样
    #word_count.update(morewords)
    print(word_count)
    #Counter({'a': 6, 'test': 5, 'this': 3, 'just': 3, 'you': 2, 'why': 1, 'eyes': 1, 'is': 1, 'nothing': 1, 'looking': 1, 'me': 1, 'really': 1, 'shoud': 1, 'in': 1, 'not': 1, 'believe': 1, 'at': 1, 'pity': 1, 'my': 1, 'are': 1})

Counter对象的实用特性拓展,结合各种数学运算操作使用

    a=Counter(lst)
    b=Counter(morewords)
    c=a+b
    #求两个结果的并集
    print(c)
    #Counter({'a': 6, 'test': 5, 'this': 3, 'just': 3, 'you': 2, 'at': 1, 'why': 1, 'is': 1, 'looking': 1, 'me': 1, 'really': 1, 'shoud': 1, 'in': 1, 'eyes': 1, 'believe': 1, 'nothing': 1, 'pity': 1, 'my': 1, 'are': 1, 'not': 1})
    print('----------------')
    d=a-b
    #求两个结果的差集
    print(d)
    #Counter({'test': 5, 'a': 4, 'shoud': 1, 'in': 1, 'believe': 1, 'is': 1, 'me': 1, 'this': 1, 'just': 1})

最后

以上就是整齐小白菜为你收集整理的python找出序列中出现次数最多的元素之Counter对象的全部内容,希望文章能够帮你解决python找出序列中出现次数最多的元素之Counter对象所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部