视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Python实现找出序列中出现次数最多的元素
2020-11-27 14:20:53 责编:小采
文档


本篇文章给大家带来的内容是关于Python实现找出序列中出现次数最多的元素 (附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1、需求

我们有一个元素序列,想知道在序列中出现次数最多的元素是什么?

2、解决方案

collections模块中国的Counter类正是为此类问题而设计的。它甚至有一个非常方便的most_common()方法可以告诉我们答案。可以给Counter对象提供任何可哈希的对象序列作为输入。

实例:假设一个列表,其中有一些列的单词,我们想找出哪些单词出现的最为频繁:

from collections import Counter
words=[
'a','b','c','d','e','f',
'a','b','c','d','e','f',
'a','b','c',
'a','b',
'a'
]
#利用Counter统计每个元素出现的个数
words_counts=Counter(words)
#出现次数最多的3个元素
top_three=words_counts.most_common(3)
#返回元素和出现次数
print(top_three)

#Counter底层是一个字典,可以在元素和他们出现的次数之间做映射,例如:
#
输出元素【f】出现的次数 print(words_counts['f']) #如果想手动增加计数个数,只需要简单的自增 words_counts['f']+=1 print(words_counts['f']) #如果想手动增加计数个数,还可以使用update()方法: #只针对元素【f】增加一次计数 words_counts.update('f') print(words_counts['f']) #为所有计数增加一次 morewords=[ 'a','b','c','d','e','f' ] words_counts.update(morewords) print(words_counts['f'])

运行结果:

[('a', 5), ('b', 4), ('c', 3)]
2
3
4
5
  • Counter对象另一个不为人知的特性,那就是他们可以轻松地同各种数算操作结合起来使用。

  • from collections import Counter
    words1=[
    'a','b','c','d','e','f',
    'a','b','c','d','e','f',
    'a','b','c',
    'a','b',
    'a'
    ]
    
    words2=[
    'a','b','c','d','e','f',
    'a','b','c',
    'a','b',
    'a'
    ]
    one=Counter(words1)
    two=Counter(words2)
    print(one)
    print(two)
    three=one+two
    print(three)
    four=one-two
    print(four)

    运行结果:

    Counter({'a': 5, 'b': 4, 'c': 3, 'd': 2, 'e': 2, 'f': 2})
    Counter({'a': 4, 'b': 3, 'c': 2, 'd': 1, 'e': 1, 'f': 1})
    Counter({'a': 9, 'b': 7, 'c': 5, 'd': 3, 'e': 3, 'f': 3})
    Counter({'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1, 'f': 1})

    下载本文
    显示全文
    专题